浏览完这里所有类似的问题后,似乎没有一个对我有用。
我有一个名为“ leads”的自定义帖子类型,并且我宣布支持这样的评论:
add_post_type_support( 'leads', 'thumbnail', 'comments' );
在我的single-leads.php模板中,我这样称呼注释区域:
<?php comments_template('/comments_file_name.php'); ?>
但是我在前端看到的只是“评论已关闭”。
只需使用相同的php调用测试标准帖子,评论区域就可以正常显示。
我进入“设置”>“讨论”,并取消选中“允许人们在新文章上发表评论”,已保存并选中并再次保存以将其刷新(按照此处的一种解决方案),但没有更改。
当我在仪表板中进入“领导”帖子类型之一并进入“屏幕选项”时,我没有“讨论”复选框,因此我甚至无法在每个帖子中启用评论。
>任何人都可以建议我尝试一下吗?
答案 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);