有時(shí)候需要判斷wordpress站點(diǎn)是否設(shè)置了偽靜態(tài),即后臺(tái)固定鏈接設(shè)置中的選擇了非”默認(rèn)”的結(jié)構(gòu)。
創(chuàng)新互聯(lián)專(zhuān)注于沙依巴克企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。沙依巴克網(wǎng)站建設(shè)公司,為沙依巴克等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì)網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
下面看一下判斷方法:
若是只寫(xiě)get_option(‘permalink_structure’) 判斷是否是自定義結(jié)構(gòu)。
is_archive只能判斷當(dāng)前是不是存檔頁(yè),并不能判斷具體是哪個(gè)存檔頁(yè)
如果你的news, dljz等是自定義post_type,可以參考is_post_type_archive()這個(gè)函數(shù)。
但如果是分類(lèi)的,就得使用以下方法:
if?(?is_category()?)?{
$cid?=?intval(?get_query_var(?'cat'?)?);
$category?=?get_cateogry(?$cid?);
switch?(?$category-slug?)?{
case?'news':
$bannerimg?=?'news.jpg';
break;
case?'dljz':
$bannerimg?=?'dljz.jpg';
break;
case?'zcgs':
$bannerimg?=?'zcgs.jpg';
break;
default:
$bannerimg?=?'default-banner.jpg';
break;
}
}
以上代碼提供參考哦。
注:以下內(nèi)容在WP
3.4+上測(cè)試通過(guò)current_user_can()的正確用法current_user_can()文檔中有一句話(huà)要注意一下Do
not
pass
a
role
name
to
current_user_can(),
as
this
is
not
guaranteed
to
work
correctly.意思是說(shuō)傳遞用戶(hù)角色名稱(chēng)(如author、contributor)作為參數(shù)不能100%保證返回正確的結(jié)果,正確的用法是傳遞$capability,從這個(gè)函數(shù)的表面意思看,參數(shù)是權(quán)限比參數(shù)是角色名稱(chēng)更靠譜。所以,要根據(jù)不同角色擁有的權(quán)限來(lái)判斷用戶(hù)角色,用戶(hù)權(quán)限可以在Roles
and
Capabilities中找到。判斷用戶(hù)是否為管理員(Administrator)if(
current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
a
administrator';
}判斷用戶(hù)是否為編輯(Editor)if(
current_user_can(
'publish_pages'
)
!current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
an
editor';
}判斷用戶(hù)是否為作者(Author)if(
current_user_can(
'publish_posts'
)
!current_user_can(
'publish_pages'
)
)
{
echo
'The
current
user
is
an
author';
}判斷用戶(hù)是否為投稿者(Contributor)if(
current_user_can(
'edit_posts'
)
!current_user_can(
'publish_posts'
)
)
{
echo
'The
current
user
is
a
contributor';
}判斷用戶(hù)是否為訂閱者(Subscriber)if(
current_user_can(
'read'
)
!current_user_can(
'edit_posts'
)
)
{
echo
'The
current
user
is
a
subscriber';
}用$current_user判斷$current_user是WordPress的一個(gè)全局變量,當(dāng)用戶(hù)登錄后,這個(gè)里面就會(huì)有用戶(hù)的角色和權(quán)限信息。當(dāng)WordPress的init
action執(zhí)行后,就可以安全的使用$current_user全局變量了。在模板文件中判斷登錄用戶(hù)是否為作者(Author)global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
在functions.php中判斷用戶(hù)是否為作者(Author)add_action(
'init',
'check_user_role'
);
function
check_user_role()
{
global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
}
之所以要使用add_action(
'init',
'check_user_role'
);是因?yàn)?current_user這個(gè)全部變量到init
action執(zhí)行時(shí)才完成賦值,既然要讀它的內(nèi)容,至少要等到它的內(nèi)容準(zhǔn)備好后再讀取。functions.php的代碼先與init
action執(zhí)行,所以在functions.php中直接寫(xiě)global
$current_user是無(wú)法獲取用戶(hù)信息的。詳細(xì)信息可以參考《WordPress
Actions加載順序》。檢查用戶(hù)角色之前,還可以先檢查一下用戶(hù)是否登錄
get_post_type() == '你的自定義類(lèi)型'
如果是內(nèi)頁(yè)的話(huà)$post_type = $post-post_type;
參考:WordPress自定義文章類(lèi)型和自定義分類(lèi)法
當(dāng)前標(biāo)題:wordpress判斷 wordpress判斷產(chǎn)品是否更新
分享網(wǎng)址:http://muchs.cn/article44/ddehehe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、ChatGPT、標(biāo)簽優(yōu)化、微信小程序、網(wǎng)站策劃、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)