1

我知道如何在所有页面上启用/禁用评论。但是我怎样才能在不使用 UI 的情况下只启用一些。在functions.php我只想去

if($this_is_a_page_i_want_comments_on) { enable_comments(); }

enable_comments();不存在,这是我需要帮助的部分。

我可以使用 WordPress Admin 来做到这一点,允许在所有页面上发表评论,然后转到每个页面并在我不想要的地方禁用评论。不过,这将花费太长时间。

PS我正在使用Genesis框架。

4

2 回答 2

2

只需连接到comments_open过滤器 :) 如果您在源代码中查找comments_open()函数的工作原理,您会注意到该函数获取了有问题的帖子,然后通过comments_open过滤器运行它。这是一个覆盖它的示例函数:

function my_override_comments_open( $open ) {
    if ( $this_is_a_page_i_want_comments_on ) {
        $open = true;
    }
    return $open;
}
add_filter('comments_open', 'my_override_comments_open', 1000);

我假设您知道如何识别要启用评论的页面 - 这取决于您。

PP:我不知道它是否可以在 Genesis 中工作(我想应该可以)。

于 2012-11-29T21:49:51.767 回答
1
if (is_single('page_name_here') || is_single('other_page')) {
    // Show the comment form here
}

不确定是否有更好的方法,这只是我的解决方案!

于 2012-11-29T21:42:24.493 回答