如何在WooCommerce中更改产品上所有产品的post meta?

时间:2015-10-20 19:29:59

标签: php wordpress woocommerce meta bulk

所以我正在使用woocommerce并使用名为WP-All-Import的插件将产品数据库导入我的Quickbooks连接电子商务平台。现在我需要更改元" _sync_status"到" on"完成之后的所有产品。如果添加所有产品,我将如何做到这一点?

2 个答案:

答案 0 :(得分:1)

您首先需要获取所有WooCommerce产品("产品"的帖子类型),循环遍历每个产品,并更新每个产品的后置元数据。您可以将此代码放入主题中的functions.php/wp-content/mu-plugins"必须使用"插件目录,或匿名使用WordPress Developer + Console等插件。

// args to fetch all products
$args = array(
    'post_type' => 'product',
    'posts_per_page' => -1
);

// create a custom query
$products = new WP_Query( $args );

// if products were returned...
if ( $products->have_posts() ):
    // loop over them....
    while ( $products->have_posts() ):
        // using the_post() to set up the $post
        $products->the_post();

        // use $post->ID to update the '_sync_status' post meta value
        update_post_meta( $post->ID, '_sync_status', 'on' );
    endwhile; 
endif;

答案 1 :(得分:0)

感谢您为我所做的工作 我可以更新产品并将其添加到我的产品中。

// args to fetch all products
$args = array(
    'post_type' => 'product',
    'posts_per_page' => -1
);
// create a custom query
$products = new WP_Query( $args );
// if products were returned...
if ( $products->have_posts() ):
    // loop over them....
    while ( $products->have_posts() ):
        $products->the_post();
            if (get_post_meta(get_the_ID(),'slide_template')=="" || !get_post_meta(get_the_ID(),'slide_template')){
                update_post_meta( get_the_ID(), 'slide_template', 'default' );
                echo get_the_ID().' do it'.'<br>';
            }
    endwhile;
endif;