WordPress 通过判断文章状态或获取链接,来判断文章是否存在

编辑于:2022年03月26日

由于 WordPress 本身并没有提供相关的函数可以检测,我们可以通过 get_permalink() 函数判断文章链接是否存在,和通过 get_post_status() 判断文章状态,来间接判断某篇文章是否存在。

get_permalink() 函数判断

get_permalink()函数是用于获取当前文章或者通过指定文章ID来获取文章链接的函数,如果没有获取到链接,函数就会返回false,也就间接的表示出文章不存在,所以就可以利用这个方法来判断文章是否存在了。

if(get_permalink($post_id)===false){ echo '文章不存在'; }

get_post_status() 函数判断

同理,get_post_status() 函数是用于检测当前文章或通过指定或传递文章 ID 来获取文章状态,如果检测不到状态就会返回 false,同样也就表示文章是不存在的。

if(get_post_status($post_id)===false){ echo '文章不存在'; }

当然 get_post_status() 函数还可以有更多深度的用法,因为在 WordPress 中文章的状态是有很多种的,通过这样的方式可以达到更多的调用或者判断检测。

WordPress 文章状态

'publish' – 公开发布的文章或页面 	
'pending' – 待审文章 	
'draft' – 草稿 	
'auto-draft' – 自动保存草稿 	
'future' – 定时发布 	
'private' – 私密文章 	
'inherit' – 修订版本 	
'trash' – 在回收站中的 	

简单的使用例子如下:

if(get_post_status($post_id)==='publish'){ echo '文章已经发布'; }

最后需要注意的是,子凡以上提供的代码片段中 $post_id 变量是指的文章或页面 ID,在 WordPress 文章主循环中可以使用 get_the_ID() 函数获取,所以在需要判断或者检测指定文章状态时需要指定 $post_id 变量或者传值才可以完整的使用。

相关推荐