WordPress 如何判断一篇文章是否存在

一直以来子凡都计划为泪雪网添加一个文章的收藏功能,直到现在也依旧也还只是在计划中,最近几天子凡在研究微信小程序,试图折腾用守望轩开源的WordPress微信小程序来接入一下我的泪雪博客和泪雪网,其中想要判断具体某篇文章是否存在。

由于WordPress本身并没有提供相关的函数可以检测,但是我们可以转个弯用现有的一些函数来判断,主要有一下两种方式。

get_permalink() 函数判断

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

//通过get_permalink()函数判断文章是否存在
if(get_permalink($post_id)===false){
echo '文章不存在';
}

get_post_status() 函数判断

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

//通过get_post_status()函数判断文章是否存在
if(get_post_status($post_id)===false){
echo '文章不存在';
}

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

WordPress 文章状态

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

简单的使用例子如下

//通过get_post_status()函数判断文章状态
if(get_post_status($post_id)==='publish'){
echo '文章已经发布';
}

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

原文链接:https://zhangzifan.com/wordpress-check-post-exist.html

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏图像识别与深度学习

《HTML5实战》Lesson12

Week13  2016/12/07上午1-4节 一、复习 二、从文件系统中获取文件列表 1、forEach 详解JavaScript中的forEach()...

2955
来自专栏阮一峰的网络日志

JavaScript与有限状态机

有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物。 ? 简单说,它有三个特征:   * 状态总数(stat...

3587
来自专栏Python爬虫与数据挖掘

如何利用BeautifulSoup选择器抓取京东网商品信息

昨天小编利用Python正则表达式爬取了京东网商品信息,看过代码的小伙伴们基本上都坐不住了,辣么多的规则和辣么长的代码,悲伤辣么大,实在是受不鸟了。不过小伙伴们...

682
来自专栏安恒网络空间安全讲武堂

writeup | 应该不是 XSS

0x01 初步分析阶段 首先拿到题目,看到留言板,第一反应就是XSS。 但是看过题目提示后,有些不确定。 所以开始分析整道题目。 首先,观察network页面,...

4116
来自专栏性能与架构

JS如何实现多线程?

单线程的问题 javascript是单线程执行的,在处理运算过程中,浏览器不能执行其它javascript脚本,UI渲染线程也会被挂起,从而导致浏览器进入僵死...

4395
来自专栏开源优测

[接口测试 - 基础篇] 08 封装个基本的excel解析类

概述 本文基于openpyxl封装一个excel解析类,请注意,不采用Python的任何高级特性,就简简单单的一个类,实现excel的一些基本操作,并演示如何...

3699
来自专栏为数不多的Android技巧

mac下Android studio快捷键配置

前两天重装了mac系统;之前的配置都丢了,因此纪录一下配置的过程以防惨案再次发生~

1443
来自专栏cmazxiaoma的架构师之路

JavaWeb学习(1) 使用Session和Token防止表单重复提交

1843
来自专栏大内老A

[CORS:跨域资源共享] 同源策略与JSONP

Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分。“同源策略”限制了JavaSc...

2039
来自专栏Java工程师日常干货

【SpringBoot专题】统一异常处理和统一数据返回前言实践运行结果

在实际开发中,我们希望对接口结果的返回,进行一次统一的封装,即便接口发生异常。比如,我们可以这样设计接口的返回:

8562

扫码关注云+社区

领取腾讯云代金券