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

问题描述 投票:0回答:2

我已经为我的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 ); 
}
php wordpress filter comments action
2个回答
0
投票

实际上将评论状态设置为已批准的Wordpress内部函数在您的代码中无处可见:

wp_set_comment_status( $comment_id, $comment_status ) 

您的代码可能会在发布评论时触发,但由于没有可修改评论状态的功能,评论不会获得批准。在我看来,当使用这个功能时,你可能只需要一个来自'action'或'filter'来修改评论状态。如果您尝试这个,请告诉我们结果。 Visit Page from Wordpress Codex for more details on this function


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 ); 
© www.soinside.com 2019 - 2024. All rights reserved.