[英]Filter wordpress search results depending on which user role is logged in
我正在嘗試在wordpress網站上過濾搜索結果,具體取決於當前登錄的用戶角色。
我在線上找到了各種過濾器,這些過濾器都在functions.php中,但是我認為我需要對函數進行一些修改。
我的php技能是基本的,這似乎破壞了站點。 我猜語法是錯誤的。
關於我要去哪里的任何指示? 提前致謝!
// SEARCH FILTER
function filter_search($query) {
if (current_user_can('customer')) {
if ($query->is_search) {
$query->set('post_type', array('customers', 'images'));
};
return $query;
} else {
if ($query->is_search) {
$query->set('post_type', array('journalists', 'images', 'videos', 'documents'));
};
return $query;
};
};
add_filter('pre_get_posts', 'filter_search');
我已經創建了自定義用戶角色,“客戶”就是其中之一。
我在您的代碼中看到的直接問題是您的if語句不完整。
($query->is_search) {
應該:
if($query->is_search) {
這兩個位置都需要更改。
[更新]這兩行都是另一個問題:
return $query; };
您不需要最后一個};
。 那是過早關閉嵌套的if語句之一。 只需使用此:
return $query;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.