一直以來子凡都計劃為淚雪網添加一個文章的收藏功能,直到現在也依舊也還只是在計劃中,最近幾天子凡在研究微信小程序,試圖折騰用守望軒開源的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
轉載請注明出處 AE博客|墨淵 ? WordPress 如何判斷一篇文章是否存在
發表評論