2010-02-27 52 views
0

在WordPress插件編碼中,如果我有兩個類別(汽車和園藝),並且我總是從所有查詢中排除園藝,那麼爲了做到這一點,我需要做什麼攔截(掛鉤或其他技巧)?無論是通過搜索,標籤雲小部件,評論小部件,日曆小部件以及網站的任何其他部分,我都需要始終排除園藝。如何攔截所有WordPress查詢並限制到類別?

我問的原因是,我的客戶需要有一個單一的主題作出不同的反應,域名進來。如果用戶輸入gardening.com並將其映射到這個博客,那麼他想限制只顯示園藝。 com內容。如果用戶輸入cars.com並將其映射到同一個博客,則他想限制僅顯示cars.com內容。

再說一次,我的問題在於想要通過插件鉤子訪問WordPress的一箇中心位置,以確保查詢僅限於給定的類別。這樣,即使添加了一個新的插件,這不是WordPress的默認版本,但它也會受到類別的限制。

我已經想通了如何溜這個代碼在主題的header.php,以使鏈接正確的行爲取決於哪個URL有人類型:

$sURL = 'http://' . $_SERVER['SERVER_NAME']; 
update_option('siteurl',$sURL); 
update_option('home',$sURL); 
unset($sURL); 

回答

0

,我發現我不得不創建一個home.php是index.php的副本,但在調用has_posts()之前調用了query_posts('category_name ='。$ _SERVER ['SERVER_NAME'])調用。在index.php上,我把它放在一邊,並沒有添加query_posts()。然後,我必須創建一個archive.php,它是Kubrick的archive.php的副本,然後編輯它,以便根據所做的選擇以不同方式更改query_posts(),例如添加「& tag =」,「 & year =「等。同樣,必須添加一個search.php(從庫布裏克借用),也按類別進行限制。這是一個很大的幫助:

http://codex.wordpress.org/Template_Tags/query_posts

我還沒有想出是如何在動態側邊欄的類別限制部件的唯一的事情。我在StackOverflow中將它寫入separate request