• 开启全站HTTPS。2017-04-29
  • 本站为非盈利性站点,所得收入全部用于网站服务器及其他费用。2015-10-15
  •    1年前 (2017-03-04)  WordPress教程 网站建设 |   抢沙发  13 
    文章评分 0 次,平均分 0.0

    前些天给博客重新添加了文章收藏功能,还是使用 WP Favorite Posts 插件实现,紧接着发现一个问题:网站删除了一些文章,如果用户之前收藏过这些文章,他们的收藏数据中仍旧包含这些文章的ID,导致他们的收藏数量统计不准确。

    WordPress 检查一篇文章是否存在

    看了插件代码,发现它是添加一个用户字段来存储用户收藏的文章ID的,要解决这个问题,必须将已删除的文章id从每个用户的这个字段中删除。那么,我们就需要验证哪些文章id是无效的,也就是通过id判断这篇文章是否存在。

    WordPress 本身没有专门的函数来检测,不过我们可以通过一些其他方式检测,在这里介绍两种:

    通过 get_permalink() 检测

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

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

    通过 get_post_status() 检测

    get_post_status() 函数可用于检测当前文章或指定文章的状态,如果检测不到状态(即文章不存在)就返回false,我们就是通过这个来实现的。

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

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

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

    简单的例子:

    好了,就到这里。

     

    除特别注明外,本站所有文章均为小浩博客原创,转载请注明出处来自https://www.xhsay.com/check-existence-of-a-post-by-id.html

    关于
    小浩博客(www.xhsay.com)是由Tovey建立的个人站点,主要致力于整合并分享各种互联网及网站建设的资源。

    发表评论

    表情 格式

    暂无评论

    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册