一般的WordPress收藏功能大部分都是添加一个用户字段来存储用户收藏的文章ID的,或者说在其它地方要WordPress检查一篇文章是否存在解决这个问题,必须将已删除的文章id从每个用户的这个字段中删除。下面我们以收藏介绍,我们就需要验证哪些文章id是无效的,也就是通过id判断这篇文章是否存在。
WordPress 本身没有专门的函数来检测,不过我们可以通过一些其他方式检测:

通过 get_permalink() 检测

get_permalink() 函数可以返回当前文章或指定文章的链接,如果没有链接(即文章不存在)就返回false,我们就是通过这个来实现的。


if(get_permalink($post_id) === false){
    // 文章不存在后执行操作
}

代码中的 $post_id 就是我们要检测的文章的id,我们需要在函数中指定或传递即可。

当然,你也可以使用它来检测文章的状态来实现一些操作,可以返回的状态为:

‘publish’ – 公开发布的文章或页面
‘pending’ – 待审文章
‘draft’ – 草稿
‘auto-draft’ – 最新自动保存的草稿,没有文章内容
‘future’ – 定时发布
‘private’ – 私密文章
‘inherit’ – 修订版本
‘trash’ – 在回收站中的
简单的例子:


<?php
	if ( get_post_status ( $post_id ) == 'private' ) {
        //如果文章状态是 private
		echo '这是一篇私密文章';
	} else {
		echo '这是一篇公开文章';
	}
?>