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