2014-09-13 100 views
0

超過3天,我正在嘗試在過濾某些類別的某些博客網頁上的帖子我的wordpress主題:「Grafika」。例如:我創建了一個名爲「朋友」一個博客頁面,在那之後我創建了一個名爲「朋友的類別「之後,我創建了5個帖子,併爲這5個帖子分配了」朋友「類別。如何在」朋友「頁面上執行此操作,以僅顯示」朋友「類別中的帖子。目前該頁面顯示所有我的來自所有頁面的博客帖子。Wordpress:按頁面中的類別過濾未發佈的帖子?

我已經嘗試了很多很多的插件,query_posts,query_args,快捷的代碼頁,修改模板。 其實我只有一個插件幾乎可以解決我的問題。它被稱爲「wp帖子過濾器」的插件。但它並沒有完全工作。這個插件的問題是,我正在爲主頁應用一個過濾器,我的所有網頁,無論是其他網頁我申請不同的filters.This是插件鏈接:here

有人可以給我一個真正的工作解決方案,過濾顯示頁面按類別的帖子?非常感謝您的閱讀!

回答

3
  1. 爲您的博客
  2. custom page template創建此頁面http://pastebin.com/bRLhpGzC
  3. 改變頁面模板來創建的一個上定製循環,http://imgur.com/4VTpyMw
+0

這是我的頁面模板:http://pastebin.com/tqb2x2RK。我應該如何修改它? – 2014-09-13 16:10:50

+0

我相信'get_template_part('loop','index')''之前的註釋部分應該替換爲MY pastebin中第16至23行的代碼,取消註釋get_template_part函數以便實際呈現內容屏幕 – igrossiter 2014-09-13 16:16:16

+0

我想你的解決方案,但有一個問題:http://prntscr.com/4mg9gf – 2014-09-13 16:39:48

0

在你functions.php文件的主題,我們可以使用pre_get_posts功能改變頁面加載之前的查詢。

function my_friends_category($query) { 
    if ($query->is_page('friends')): 
     $query->set('cat', 'friends'); 
    endif; 
} 
add_action('pre_get_posts', 'my_friends_category'); 

這是假設你的頁面的名稱friends否則與頁面的id更換。

+0

我只是想你修復,但它沒有工作。這是我的頁面:http://www.zigzagprinromania.com/blog/?page_id=214。請檢查此屏幕截圖:http://prntscr.com/4mfv1f。我想在該頁面上僅顯示標有「V」標誌的帖子。帶有「V」標誌的帖子屬於名爲「parteneri」的類別。是我的頁面模板:http://pastebin.com/tqb2x2RK – 2014-09-13 16:05:04

+0

我想你這樣的代碼:[代碼]功能my_friends_category($查詢){ 如果($查詢 - > is_page( '214')): $查詢 - > set('cat','parteneri'); endif; } add_action('pre_get_posts','my_parteneri_category'); [代碼]。其中214是頁面的ID,「parteneri」是我希望顯示帖子的類別。 – 2014-09-13 16:07:27

+0

@ConstantinFlorinMinea您將add_action查找的函數的名稱更改爲'my_parteneri_category',但您沒有將函數名稱更改爲'my_parteneri_category($ query)'.....請再試一次。 – Ohgodwhy 2014-09-13 16:10:04