WordPress 5.7 新增的文章相关函数
WordPress 5.7 增加几个文章相关的函数,可能对于主题和插件开发可能会使用比较高,所以下面统一介绍一下:
文章父级相关的模板函数
WordPress 5.7 新增了两个和文章父级相关的函数,一个是判断当前文章是否有父级,一个是直接获取文章父级对象。
get_post_parent
get_post_parent
函数用来获取文章父级的对象,只支持一个参数,文章 ID 或者 WP_Post
对象,默认情况不传递则为全局的 $post
,返回父级的对象,如果不存在则返回 null
。
has_post_parent
has_post_parent
函数用来判断当前文章是否有父级,的参数和 get_post_parent()
一样,它返回 true
如果存在,否则 false
。
下面是一个使用文章父级模板函数的例子:
<?php if ( has_post_parent( get_the_ID() ) ) : ?>
<a href="<?php the_permalink( get_post_parent( get_the_ID() ) ); ?>">
<?php echo esc_html( '返回父级页面:'. get_the_title( get_post_parent( get_the_ID() ) ) ); ?>
</a>
<?php endif; ?>
文章是否公开可见函数
WordPress 5.7 新增了两个额外的函数来判断文章是否公开可见。
我们已有函数 is_post_type_viewable()
可以用来判断文章类型是否公开可见,它是通过判断文章类型对象的 publicly_queryable
的属性来是判断的。但是仅仅判断文章类型公开的属性就来判断文章是公开可见的是不够的。
is_post_status_viewable
所以 WordPress 5.7 就新增了 is_post_status_viewable()
函数,它可以让开发人员用来确定文章状态是否可以公开可见。
比如内部状态(Internal)和受保护状态(protected)就是认为不可见的,其他的状态,WordPress 内置的,我们要查看文章状态对象的 public
属性,自定义状态,则查看 publicly_queryable
属性。
is_post_status_viewable()
只支持一个参数 $post_status
,文章状态名称或者对象,这个参数是必须的。
<?php
global $post;
$current_post_status = get_post_status( $post );
if ( is_post_status_viewable( $current_post_status ) ) {
echo '这篇文章使用了公开的状态';
} else {
echo '这篇文章使用了非公开的状态';
}
特别注意一下,密码保护文章是认为公开可见的,而私密文章则不可见的。
is_post_publicly_viewable
WordPress 5.7 同时还新增了 is_post_publicly_viewable()
函数用来判断文章对于未登录用户是否可见,它的定义是一篇文章公开可见,是文章的相关属性传递给 is_post_status_viewable()
和 is_post_type_viewable()
函数要同时返回 true
。
is_post_publicly_viewable() 函数只支持一个参数 post,文章 ID 或者对象,参数可选的,如果不传递则全局的 post 对象。
<?php
if ( is_post_publicly_viewable() ) {
echo '这篇文章公开可见';
} else {
echo '这篇文章不可见';
}
相关文章
- 为wordpress增加function模板应用-以后不用修改模板函数添加扩展功能
- WordPress 6.1 新增必填字段相关函数和钩子
- wordpress美化登录界面Wordpress博客 2 年前 桃李Taoli
- WordPress后台加载速度慢的问题Wordpress博客 2 年前 桃李Taoli
- WordPress get_post 函数的 WP_Post Object 输出字段
- Satelite个人图像博客创新且优雅的WordPress主题
- 宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速
- wordpress设定文章的显示时间期限或过期时间的标志
- Nginx服务器上-wordpress更改固定链接策略后无法访问(404)问题的解决方法-(亲测有效)
- WordPress 为什么要创建 wp_strip_all_tags 函数
- WordPress 中一行代码即可控制函数的输出并存到变量中
- WordPress 6.1 将新增 is_login_screen 函数用于判断当前页面是登录界面
- PHP 中 Serialize 和 JSON 的区别和在 WordPress 中如何使用
- WordPress 技巧:在后台显示文章浏览数
- WordPress 技巧:彻底关闭后台主题自定义功能
- WordPress 配置WP SMTP 插件发送邮件
- WordPress 插件推荐:飞信短信提醒
- WordPress 技巧:在后台仪表盘显示待审日志列表
- Wordpress数据库 - 优化解决WordPress程序文章多了之后网站变卡的问题
- WordPress非插件添加文章浏览次数统计功能