网址导航网首页

嗨,欢迎来到25Qi网址导航

站长QQ:2598903095

WordPress

WordPress 检查一篇文章是否存在

时间:2021-08-22 丨 作者:WordPress教程 丨 关键词:WordPress

前些天给一个朋友的博客重新添加了文章收藏功能,使用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 '这是一篇公开文章';
    }
?>

 

在线随机小姐姐图片换一批
最新收录
  • 体育赛事分析报道

    让足球滚一会提供足球、篮球、NBA赛事前瞻分析推荐,与各联赛时实新闻报道、球员转会消息、赛事录像回放等资讯,用心认真把每件事做到最好的网站。

  • 足球比分直播

    体育即时比分网提供实时足球比分与篮球比分数据,包括即时比分、赛程、球队、竞猜等数据,让您无时无刻都能掌握时实足球比分与篮球比分动态消息。即时更新各项比赛数据与完赛结果。让足球滚一会带您体验精彩的竞猜足球比赛!

  • 金魔网

    金魔网

  • 外籍模特

    外籍模特

  • imtoken钱包

    :imtoken钱包为您提供最新的imtoken钱包信息,imtoken是全球最大的数字货币钱包,支持包括BTC, ETH, BSC, TRON, Aptos, Polygon, Solana, OKExChain, Polkadot, Kusama, EOS等在内的所有主流公链及Layer 2,已为全球近千万用户提供可信赖的数字货币资产管理服务,也是当前DeFi用户必备的工具钱包。

  • 明星经纪公司

    我们专注提供明星代言、商演、翻包视频、祝福视频录制等业务,十多年行业服务经验