您当前的位置:主页 > 教程合集 > WordPress网站首页WordPress

WordPress 检查一篇文章是否存在

发布时间:2017-04-10编辑:余斗阅读:(0)字号:
    前些天给一个朋友的博客重新添加了文章收藏功能,使用WP Favorite Posts插件实现,紧接着发现一个问题:网站删除了一些文章,如果用户之前收藏过这些文章,他们的收藏数据中仍旧包含这些文章的ID,导致他们的收藏数量统计不准确。 WordPress 检查一篇文章是否存在 看了插件代码,发现它是添加一个用户字段来存储用户收藏的文章ID的,要解决这个问题,必须将已删除的文章id从每个用户的这个字段中删除。那么,我们就需要验证哪些文章id是无效的,也就是通过id判断这篇文章是否存在。 WordPress 本身没有专门的函数来检测,不过我们可以通过一些其他方式检测,在这里介绍两种: 通过 get_permalink() 检测 get_permalink() 函数可以返回当前文章或指定文章的链接,如果没有链接(即文章不存在)就返回false,我们就是通过这个来实现的。

    if(get_permalink($post_id) === false){
            // 文章不存在后执行操作
    }
     
    代码中的 $post_id 就是我们要检测的文章的id,我们需要在函数中指定或传递即可。 通过 get_post_status() 检测 get_post_status() 函数可用于检测当前文章或指定文章的状态,如果检测不到状态(即文章不存在)就返回false,我们就是通过这个来实现的。

    if(get_post_status($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 '这是一篇公开文章';
        }
    ?>
     
关键字词WordPress
余斗余斗
  1. 转载请注明: WordPress 检查一篇文章是否存在_余斗余斗_鸿运国际手机登录首页
  2. 版权声明: 本站原创文章,由 发表在 WordPress 分类下,于2017-04-10最后更新
WordPress用html的后缀时的分页链接解决方法
WordPress给分类页面添加浏览统计的方法
手机扫一扫 随身带着看
鸿运国际手机登录首页