安排wp_cron作业每天更新产品元数据

时间:2018-07-06 06:29:50

标签: wordpress cron hook-woocommerce

我在woocommerce产品后端获得了废料价格,这些价格我想保存在数据库中。 当前后端价格变化,但是直到我们更新产品元数据才在数据库中更新。 如果每天更新产品,则会每天在数据库中保存抓取的值。
我看到一个示例,该示例如何使用wp_cron https://wordpress.stackexchange.com/questions/112767/scheduling-posts-to-update-once-per-day-with-wp-cron更新帖子 但这对我不起作用了。

这是我在主题functions.php中的代码

    if( !wp_next_scheduled( 'update_products' ) ) {  
       wp_schedule_event( time(), 'daily', 'update_products' );  
    }  

    add_action( 'update_products', 'update_product_meta' ); 

add_action( 'update_post_meta', 'update_product_meta', 10, 3 );
function update_product_meta($meta_id, $post_id, $meta_key, $meta_value) {
    global $post;
$active = array( 
    'post_type'=>'product',
    'posts_per_page'=>'-1',
    'post_status '=> 'publish',

);
$query   = new WP_Query($active);
if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
            $update =  get_the_ID();


            update_product_meta( $update );
    }
}
wp_reset_postdata();

}

请帮助我设置产品自动更新! 预先感谢!

1 个答案:

答案 0 :(得分:0)

$loop = new WP_Query(array('post_type' => array('product', 'product_variation'), 'posts_per_page' => -1, 'post_status' => 'publish'));

$count = 0; 

while ($loop->have_posts()) : $loop->the_post();
$count++;    

endwhile;

echo $count. " Products Updated Successfully";
exit;