WP自动评论批准自定义帖子类型

时间:2018-09-12 05:40:42

标签: php wordpress filter comments action

我为xyz自定义帖子添加了自动批准评论的操作。但是在添加条件if($post_type =='course')时它不起作用。我也尝试过过滤器。但是它不起作用。我该如何解决?

操作:

global $post_type;
if($post_type =='xyz'){
    function action_pre_comment_approved( $array, $int, $int ) { 

    }; 
add_action( 'pre_comment_approved', 'action_pre_comment_approved', 10, 3 ); 
}

过滤器:

global $post_type;
if($post_type =='xyz'){
    function filter_pre_comment_approved( $approved, $commentdata ) { 

        return $approved; 
    }; 
    add_filter( 'pre_comment_approved', 'filter_pre_comment_approved', 10, 2 ); 
}

2 个答案:

答案 0 :(得分:0)

实际上将注释状态设置为批准的Wordpress内部函数在您的代码中找不到:

wp_set_comment_status( $comment_id, $comment_status ) 

您的代码在看到评论发布时可能会触发,但是由于没有功能可以修改评论状态,因此该评论未获得批准。 我认为,使用此功能时,您可能只需要从“操作”或“过滤器”中选择一个即可修改评论状态。如果您尝试这样做,请告诉我们结果。

Visit Page from Wordpress Codex for more details on this function

答案 1 :(得分:0)

尝试此代码。

function filter_pre_comment_approved( $approved, $commentdata ) {   
    global $post_type;
    if($post_type =='xyz'){
        return $approved; 
    }else{
        return false;
    }
}
add_filter( 'pre_comment_approved', 'filter_pre_comment_approved', 10, 2 );