仪表板中帖子类型的单独评论部分

时间:2017-06-29 作者:Calvin

我正在创建一个自定义帖子类型,并为其添加了注释选项。现在,该帖子类型中提交的所有评论也被添加到一般评论部分。

如何确保特定帖子类型的评论与仪表板区域中的一般评论分开?

2 个回复
SO网友:LWS-Mo

所有评论都列在下面"Comments" 没有创建单独"Comments" 自定义帖子类型的节/页。至少我不知道。

但是,您可以在评论列表中添加过滤器,以根据帖子类型过滤所有评论

因此,您可以创建HTML select field, 其中包含option for every custom post-type. 这个value 每个选项的slug of the post-type. 这个select 要素需求a name of "post_type" 使过滤工作正常。

/**
 * Create custom comments filter for post types
 **/
function my_comments_filter() {

    // we are only getting the none-default post types here (no post, no page, no attachment)
    // you can also change this, just take a look at the get_post_types() function
    $args = array(
        \'public\'   => true,
        \'_builtin\' => false
    );
    $post_types = get_post_types( $args, \'objects\' ); // we get the post types as objects

    if ($post_types) { // only start if there are custom post types 

        // make sure the name of the select field is called "post_type"
        echo \'<select name="post_type" id="filter-by-post-type">\';

        // I also add an empty option to reset the filtering and show all comments of all post-types
        echo \'<option value="">\'.__(\'All post types\', \'my-textdomain\').\'</option>\';

        // for each post-type that is found, we will create a new <option>
        foreach ($post_types as $post_type) {

            $label = $post_type->label; // get the label of the post-type
            $name = $post_type->name; // get the name(slug) of the post-type

            // value of the optionsfield is the name(slug) of the post-type
            echo \'<option value="\'.$name.\'">\'.$label.\'</option>\';

        }
        echo \'</select>\';
    } 

}
// we add our action to the \'restrict_manage_comments\' hook so that our new select field get listet at the comments page
add_action( \'restrict_manage_comments\', \'my_comments_filter\' );
如果将此代码添加到functions.php, 或者更好,to a plugin, 您将在评论后端的顶部看到一个新过滤器。在这里你可以select a custom post-type 然后单击Filter, 筛选注释。如果选择“所有帖子类型”并再次单击“筛选”,则应显示所有评论。

SO网友:Rick Hellewell

评论必须属于帖子$id。请检查代码以确保评论保存/处理代码引用的是当前帖子id。

结束

相关推荐

我可以将我的定制COMMENT_TYPE存储到wp_Comments表中吗?

我正在开发一个系统,一篇帖子可以有多个回复/反馈。到目前为止,我将每个注释存储为序列化postmeta. 但就在今天,我发现我可以使用现有的comments 用于相同目的的表commentmeta 表I也可以在那里存储其他数据。所以我用wp_insert_comment(), 我希望更健壮的是wp_new_comment(), 在那里我介绍了comment_type 参数我发现它存储:null 对于默认注释类型“comments”,请参见pingback 对于“pingbacks”,和trackbacks