當(dāng)前位置:首頁(yè)>WordPress建站>WordPress開(kāi)發(fā)>WordPress 檢查一篇文章是否存在

WordPress 檢查一篇文章是否存在

前些天給 WordPress大學(xué) 重新添加了文章收藏功能,還是使用 WP Favorite Posts 插件實(shí)現(xiàn),緊接著發(fā)現(xiàn)一個(gè)問(wèn)題:網(wǎng)站刪除了一些文章,如果用戶(hù)之前收藏過(guò)這些文章,他們的收藏?cái)?shù)據(jù)中仍舊包含這些文章的ID,導(dǎo)致他們的收藏?cái)?shù)量統(tǒng)計(jì)不準(zhǔn)確。

2016-09-09_095551

看了插件代碼,發(fā)現(xiàn)它是添加一個(gè)用戶(hù)字段來(lái)存儲(chǔ)用戶(hù)收藏的文章ID的,要解決這個(gè)問(wèn)題,必須將已刪除的文章id從每個(gè)用戶(hù)的這個(gè)字段中刪除。那么,我們就需要驗(yàn)證哪些文章id是無(wú)效的,也就是通過(guò)id判斷這篇文章是否存在。

WordPress 本身沒(méi)有專(zhuān)門(mén)的函數(shù)來(lái)檢測(cè),不過(guò)我們可以通過(guò)一些其他方式檢測(cè),在這里介紹兩種:

通過(guò) get_permalink() 檢測(cè)

get_permalink() 函數(shù)可以返回當(dāng)前文章或指定文章的鏈接,如果沒(méi)有鏈接(即文章不存在)就返回false,我們就是通過(guò)這個(gè)來(lái)實(shí)現(xiàn)的。

if(get_permalink($post_id) === false){
    // 文章不存在后執(zhí)行操作
}

代碼中的 $post_id 就是我們要檢測(cè)的文章的id,我們需要在函數(shù)中指定或傳遞即可。

通過(guò) get_post_status() 檢測(cè)

get_post_status() 函數(shù)可用于檢測(cè)當(dāng)前文章或指定文章的狀態(tài),如果檢測(cè)不到狀態(tài)(即文章不存在)就返回false,我們就是通過(guò)這個(gè)來(lái)實(shí)現(xiàn)的。

if(get_post_status($post_id) === false){
    // 文章不存在后執(zhí)行操作
}

代碼中的 $post_id 就是我們要檢測(cè)的文章的id,我們需要在函數(shù)中指定或傳遞即可。

當(dāng)然,你也可以使用它來(lái)檢測(cè)文章的狀態(tài)來(lái)實(shí)現(xiàn)一些操作,可以返回的狀態(tài)為:

  • ‘publish’ – 公開(kāi)發(fā)布的文章或頁(yè)面
  • ‘pending’ – 待審文章
  • ‘draft’ – 草稿
  • ‘auto-draft’ – 最新自動(dòng)保存的草稿,沒(méi)有文章內(nèi)容
  • ‘future’ – 定時(shí)發(fā)布
  • ‘private’ – 私密文章
  • ‘inherit’ – 修訂版本
  • ‘trash’ – 在回收站中的

簡(jiǎn)單的例子:

<?php
	if ( get_post_status ( $post_id ) == 'private' ) {
        //如果文章?tīng)顟B(tài)是 private
		echo '這是一篇私密文章';
	} else {
		echo '這是一篇公開(kāi)文章';
	}
?>

好了,就到這里。如果你要進(jìn)一步了解如何解決文章開(kāi)頭提到的 WP Favorite Posts 的問(wèn)題,請(qǐng)移步:http://www.ydqwiac.cn/wp-favorite-posts.html

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress開(kāi)發(fā)

使用 WP_Error 類(lèi)進(jìn)行 WordPress 錯(cuò)誤處理(二)

2016-6-27 9:10:39

WordPress開(kāi)發(fā)

WordPress無(wú)刷新分類(lèi)篩選以及分頁(yè)的文章列表

2017-1-10 8:33:27

5 條回復(fù) A文章作者 M管理員
  1. 龍笑天下

    被鏡像了哦~ http://www.ydqwiac.cn.dijicat.com/
    看看這里:http://www.ilxtx.com/mirrored-website.html ,希望博主能把里面的方法3完善下,方法3在火狐下沒(méi)效果~

  2. 動(dòng)感單車(chē)網(wǎng)

    這個(gè)功能,咱用不上,也不知自己目前所使用的主題有木有用戶(hù)中心!

?
個(gè)人中心
購(gòu)物車(chē)
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

镇宁| 江阴市| 南丹县| 洛南县| 若尔盖县| 怀化市| 老河口市| 新田县| 金沙县| 全州县| 滕州市| 郧西县| 贞丰县| 买车| 沧源| 大名县| 内丘县| 通道| 玛沁县| 镇远县| 抚州市| 姜堰市| 沛县| 彭阳县| 梁平县| 钟祥市| 兴化市| 天津市| 尼木县| 湖北省| 中阳县| 咸阳市| 甘孜县| 治县。| 石景山区| 习水县| 胶州市| 深泽县| 香格里拉县| 象州县| 城步|