如果POST_META字段为0或已存在2天,是否将帖子移至不同类别?

时间:2011-01-21 作者:Philip

如果post\\u meta字段为0,是否可以将帖子移动到其他类别
我正在建立一个逆序投票,每个帖子默认有10个投票,在用户投票后,通过更新post\\u meta删除一个投票,现在如果投票字段为0或2天,我尝试将帖子移动到另一个类别。

我找到了解决办法here 如果是数据库中该类别的过去日期,则将帖子移动到另一个类别
它每小时运行一次以进行检查

if (!wp_next_scheduled(\'sfn_expire_hook\')){
    wp_schedule_event( time(), \'hourly\', \'sfn_expire_hook\');
}

add_action( \'sfn_expire_hook\', \'sfn_show_expire\');
function sfn_show_expire(){
    global $wpdb;
    $server_time = date(\'mdy\');
    $result = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = \'post\' AND post_status = \'publish\'");
    if( !empty($result)) foreach ($result as $a){
        $show_time = get_the_time(\'mdy\', $a->ID);
        if ( $server_time > $show_time ){
           $my_post = array();
           $my_post[\'ID\'] = $a->ID;
           $my_post[\'post_status\'] = \'draft\';
           wp_update_post( $my_post );
        }
    } // end foreach
}
有人能帮我扩展此功能以检查2天以前的帖子,以及post\\u meta“投票数”是否也为“0”?

非常感谢,菲利普

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

当您取消对您的状况的投票检查时,如果需要:

获取类别wp_get_object_terms() (低级func,您可以指定仅获取名称或ID,因为您不需要完整对象)

  • 修改数组(删除您不需要的类别,添加您需要的类别)
  • 设置类别wp_set_post_categories() (它将覆盖所有类别,因此从阵列中删除的类别将消失)
  • 结束

    相关推荐

    获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

    在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s