also Rank Match Daten werden vom
Connector gespeichert das Grund problem ist ja wenn man andere Daten in der wp_termmeta speichert, die werden vom Connector einfach gelöscht, wenn man was aktualisiert was die Kategorien angeht
Bei den Produkten verhält es sich genau so, sobald man was im jtl ändert löscht er Other Daten die in der db gespeichert sind, aber die Meta Daten werden übertragen..
ich persönlich habe diverse Zusatzdaten die nicht vom jtl eingepflegt sind, was an sich normal ja kein problem sein sollte, da man davon ausgehen sollte das der connector nur die Daten aktualisiert, allerdings scheint der Connector aber alles zu NULLEN auch was nicht mit den JTL Daten Meta und co zu tun hat
hier habe ich mir einfach neue Funktionen Programmiert und weiche auch eine neue Datenbank Tabelle aus, so das ich alle Zusätzlichen Informationen Extra speichere.. das ist zumindest mein Lösungsweg aber auch doof wenn man nicht so viel Ahnung hat vom Programmieren, da es ja sehr Spezifisch ist..
am schönst wäre es wenn der Connector nicht einfach alles NULLEN würde den könnte man weiterhin die Standart Funktionen von Wordpress benutzen
Was die Zusatz Funktion Angeht habe ich das so gelöst
PHP:
function get_all_termextra_meta( $term_id ) {
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}termextrameta WHERE term_id = '{$term_id}'", ARRAY_A );
return $results;
}
function update_termextra_meta( $term_id, $meta_key, $meta_value, $prev_value = '' ) {
global $wpdb;
$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT id FROM {$wpdb->prefix}termextrameta WHERE meta_key = %s AND term_id = %d", $meta_key, $term_id ) );
if ( empty( $meta_ids ) ) {
$result = $wpdb->insert(
$wpdb->prefix . 'termextrameta',
array(
'term_id' => $term_id,
'meta_key' => $meta_key,
'meta_value' => $meta_value,
)
);
if ( ! $result ) {
return false;
}
$mid = (int) $wpdb->insert_id;
return $mid;
}
$_meta_value = $meta_value;
$meta_value = maybe_serialize( $meta_value );
$data = compact( 'meta_value' );
$where = array(
'term_id' => $term_id,
'meta_key' => $meta_key,
);
$result = $wpdb->update( $wpdb->prefix . 'termextrameta', $data, $where );
if ( ! $result ) {
return false;
}
return true;
}
also mit den beiden funktionen lade ich die daten oder Speichere Sie in die zusätzliche Datenbank Tabelle
SQL:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `wp_termextrameta`;
CREATE TABLE `wp_termextrameta` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`term_id` int unsigned NOT NULL DEFAULT '0',
`meta_key` varchar(255) DEFAULT NULL,
`meta_value` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
SET FOREIGN_KEY_CHECKS = 1;
Dennoch ist das ganze etwas weitreichender da man jetzt ja auch noch diverse Funktionen schaffen muss um die Informationen zu verwenden
Natürlich hoffe ich das es mal irgendwann behoben wird, und ich wider die normalen Wordpress Funktionen verwenden kann..