2014-03-28 74 views
0

我工作的這個WordPress網站 - http://adsclip.com/類別排除在WordPress的

我已經建立了使用此代碼的國家選擇(在它最簡單的形式)

<select name="countries" id="countries" style="width:180px;" onchange="return change_action(this.value);"> 
<option value='us' id="us">United States</option> 
<option value='gb' id="gb">United Kingdom</option> 
</select> 

貫穿於WordPress的職位分組爲國家類別,我的目標是在選擇特定國家時排除整個網站的類別。

如果可能,我想只是從主頁中排除它們。

有沒有插件,或一些代碼,可以幫助我實現這一目標?

+0

你想排除什麼類別,它的相關代碼在哪裏? –

回答

0

您可以通過在pre_get_postsparse_query操作中將所選國家/地區的slug作爲查詢參數來全局排除/包含類別。

實施例與pre_get_posts

add_action('pre_get_posts', 'filter_query_by_country'); 

function filter_query_by_country($query) { 

    // ... get the wanted country's slug here someway ... 

    $query -> set('country', $slug); 
} 

在上述鉤狀功能'country'是分類名和$slug是國家術語的蛞蝓。它設置一個查詢變量來單獨搜索標有某個country集的內容(類似於普通的category_name查詢變量)。您可以使用$query -> is_main_queryis_category()和類似的條件來定位各種查詢。

如果您在選擇某個國家時在每個頁面上實現查詢變量的JavaScript解決方案,則此示例應該可行。 Google爲query_vars過濾器和add_rewrite_endpoint核心函數來學習如何在WordPress中實現自定義的GET參數。

此外,您可以將選定的國家/地區保存到會話變量,以便爲用戶保存選擇(我認爲您在此創建語言切換器?)。

相關問題