媒體庫搜尋功能失效,先尋找媒體庫分類外掛,最後終於找到問題源頭排除的始末。
*
為了讓搜尋結果排除統整頁面,我用「wordpress 搜尋排除頁面」當關鍵字找到了網路上的中文教學,並使用以下這段語法排除頁面,這時候我還不知道這段語法會帶來其他問題。
add_filter('pre_get_posts','wpjam_exclude_page_from_search'); function wpjam_exclude_page_from_search($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; }
但後來發現這段語法會造成「媒體庫」的搜尋功能同樣失效,一開始我不知道是因為這段語法造成的,努力尋找有沒有能讓媒體庫(media library )能夠分類的外掛,最後找到一個:
Media Library Categories
但這外掛免費版的只是讓你能分類,並不能在設定特色圖片時直接從分類裡叫出,那功能被放在付費版裡了。
所以我只好再回頭研究媒體庫搜尋功能失效的原因,查了很久,終於查到和我遇到同樣問題的人。
can’t search in media library
然後才恍然大悟問題出在我functions.php裡那段搜尋結果排除頁面的語法,嘗試把那段語法拿掉,媒體庫搜尋功能確實恢復正常,於是我又繼續尋找「搜尋結果排除頁面」的其他語法,這次參考了wordpress論壇的另一篇文章:
Search only posts (not pages)
把functions.php的語法改成下面這段:
function is_type_page() { // Check if the current post is a page global $post; if ($post->post_type == 'page') { return true; } else { return false; } }
再把loop語法中
<?php while (have_posts()) : the_post(); ?>
後面加上:
<?php if (is_type_page()) continue; ?>
測試搜尋結果的確順利排除頁面了,可喜可賀!事實證明使用wordpress會增加強迫自己碰英文的機會w