WooCommerce change

时间:2018-07-09 作者:Lani Gouws

我有下面的代码,可以在预定的活动后更改常规帖子的一个类别。它工作得很好。然而,我需要它来定位WooCommerce产品类别。我的问题:有没有办法调整我当前的代码以适应自定义的帖子类型?

// runs when a post is published
add_action( \'publish_post\', \'wcsri_schedule_post_check\' );

function wcsri_schedule_post_check( $post_id ) {

// set the time when the event should be scheduled
$timestamp = strtotime( \'+7 days\' );

// Schedule the event
wp_schedule_single_event( $timestamp, \'wcsri_check_post\', array( $post_id ) 
);    
}

// a custom hook to schedule
add_action( \'wcsri_check_post\', \'wcsri_check_post_cats\', 10, 1 );

// replace post categories
function wcsri_check_post_cats( $post_id ) {

//categories
$old_cat = get_the_terms($post->ID, "foo");
$new_cat = get_the_terms($post->ID, "bar");

// check for the old category
if ( has_category( $old_cat, $post_id ) ) {
    // update post with new category
    $args = array(
        \'ID\'            => $post_id,
        \'post_category\' => array( $new_cat ),
    );
    wp_update_post($args);
}
}

1 个回复
SO网友:Peter HvD

您可以测试该帖子是否为is_product() 如果是,请记住自定义分类法不使用has_category() 所以你必须使用has_term( $old_cat, \'product_cat\', $post_id ) 相反

结束

相关推荐

Media Library Categories

我使用以下内容将类别分配给我的WordPress媒体库(在functions.php):function wptp_add_categories_to_attachments() { register_taxonomy_for_object_type( \'category\', \'attachment\' ); } add_action( \'init\' , \'wptp_add_categories_to_attachments\' ); 每个媒体库项目都