WordPress自定义帖子类型的“评论已关闭”

时间:2018-09-11 17:13:02

标签: wordpress

浏览完这里所有类似的问题后,似乎没有一个对我有用。

我有一个名为“ leads”的自定义帖子类型,并且我宣布支持这样的评论:

add_post_type_support( 'leads', 'thumbnail', 'comments' );

在我的single-leads.php模板中,我这样称呼注释区域:

<?php comments_template('/comments_file_name.php'); ?>

但是我在前端看到的只是“评论已关闭”。

只需使用相同的php调用测试标准帖子,评论区域就可以正常显示。

我进入“设置”>“讨论”,并取消选中“允许人们在新文章上发表评论”,已保存并选中并再次保存以将其刷新(按照此处的一种解决方案),但没有更改。

当我在仪表板中进入“领导”帖子类型之一并进入“屏幕选项”时,我没有“讨论”复选框,因此我甚至无法在每个帖子中启用评论。

>

任何人都可以建议我尝试一下吗?

3 个答案:

答案 0 :(得分:0)

/**
 * Enables the Excerpt meta box in Page edit screen.  
 */
function wpcodex_add_excerpt_support_for_pages() {
add_post_type_support( 'page', 'excerpt' );
}
add_action( 'init', 'wpcodex_add_excerpt_support_for_pages' );
?>
this page上的

wordpress抄本示例还提到了应通过'init'钩子来调用,就像上面提到的示例一样。在上面的示例中添加“注释”,将“页面”更改为“线索”并进行检查。

答案 1 :(得分:0)

好的,我已经解决了。

类似于贾斯汀的回答,但在功能上。默认情况下,此功能可在任何帖子类型上启用评论。

function switch_on_comments_automatically(){
    global $wpdb;
    $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET comment_status = 'open'")); 
}
switch_on_comments_automatically();

答案 2 :(得分:0)

function default_comments_off( $data, $postarr ) {
     if( $data['post_type'] == 'page' || $data['post_type'] == 'my-custom-post-type' ) {
          //New posts don't have an ID - So this checks if the post is new or already exists
          if( !($postarr['ID']) ){
               $data['comment_status'] = 0; //0 = false | 1 = true
          }
     }
     return $data;
}
add_filter( 'wp_insert_post_data', 'default_comments_off', '', 2);