Wir nutzen folgenden Code um die Eigenschaft pa_brand (Deutsch: Marke) programmatisch für alle Produkte auf einmal zu setzen.
add_action('admin_init', 'iphf_add_brand_for_all_products');
function iphf_add_brand_for_all_products() {
$queryArgs = array(
'post_type' => 'product',
'posts_per_page' => -1
);
$my_query = new WP_Query( $queryArgs );
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$term_taxonomy_ids = wp_set_object_terms( get_the_ID(), 'mein-marke', 'pa_brand', true );
$thedata = Array('pa_brand'=>Array(
'name'=>'pa_brand',
'value'=>'meine-marke',
'is_visible' => '1',
'is_taxonomy' => '1'
));
update_post_meta( get_the_ID(),'_product_attributes', $thedata);
endwhile;
}
wp_reset_query();
}
Bei is_visible kommt eine 1 (true), wenn Marke auf der Produktseite als „zusätzliche Information“ angezeigt werden soll. Wenn nicht gewünscht, dann 0 einsetzen. Meine-Marke (fettgedruckt im Code) muss durch die Titelform (Slug) der Marke ersetzt werden. Den Wert für den Titelform erfährt man in der Editiermaske der Eigenschaft (Produkte -> Eigenschaften -> Begriffe konfigurieren bei Marke anklicken und anschließend Bearbeiten bei der entsprechenden Marke).
Wichtig diesen Code nach der Ausführung wieder entfernen, damit nicht jedes mal beim Laden des Adminbereichs der Code ausgeführt wird und das Laden verzögert wird.