腾讯云服务器优惠活动华纳云香港服务器

WordPress判断评论是否打开函数comments_open()的介绍及使用

WordPress主题推荐

WordPress 自带评论功能而且可以在后台打开/关闭评论,有时候我们需要根据评论是否打开来决定显示一些信息,比如评论打开则显示评论框,评论关闭则不显示评论框等。那么我们应该如何判断当前文章是否打开(允许)评论呢?这个时候就需要用到 comments_open()函数了,今天就重点跟大家介绍一下 comments_open()函数。

WordPress判断评论是否打开函数comments_open()的介绍及使用-第1张-boke112百科(boke112.com)

comments_open()函数介绍

查询当前帖子是否打开(允许)评论。

comments_open( int|WP_Post $post_id = null )

参数:

$post_id(int|WP_Post):(可选)Post ID 或 WP_Post 对象,默认为当前文章,默认值:null。

结果:

(布尔)如果打开(允许)评论则返回 true。

函数所在文件:wp-includes/comment-template.php

function comments_open( $post_id = null ) {
$_post = get_post( $post_id );
$post_id = $_post ? $_post->ID : 0;
$open = ( 'open' === $_post->comment_status );
return apply_filters( 'comments_open', $open, $post_id );
}

comments_open()函数使用示例

示例:仅当我们看到单个帖子并且当前帖子已打开评论时才使脚本入队

/**
* Enqueue wpdocs_script if viewing a post with comments enabled.
*/
function wpdocs_scripts(){
if ( is_single() && comments_open() ) {
// wpdocs_script must have been previously registered via wp_register_script()
wp_enqueue_script( 'wpdocs_script' );
}
}
add_action( 'wp_print_scripts', 'wpdocs_scripts' );

示例:为自定义字段“Allow Comments”的文章打开评论

当我们设置了 WordPress 禁用 X 天以上的帖子但希望部分文章(添加有自定义字段 Allow Comments 的文章)还继续启用评论时的代码。

function wpdocs_comments_open( $open, $post_id ) {
$post = get_post( $post_id );
if (get_post_meta($post->ID, 'Allow Comments', true)) {
$open = true;
}
return $open;
}
add_filter( 'comments_open', 'wpdocs_comments_open', 10, 2 );

以上内容整理自@WordPress – comments_open()

本文地址:https://boke112.com/post/1778.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu