2013-06-28 43 views
2

我在自定義分類標準上使用了自定義帖子類型。這些分類法用於過濾和創建帖子的索引列表。根據當前查詢變量在Wordpress中對get_next_post()進行預過濾

問題是,一旦我點擊了過濾列表中的這些帖子之一,我就有一個上一頁和下一篇文章鏈接在頁面上;我希望這些鏈接尊重之前添加的過濾器。

有沒有辦法拉動「下一個匹配的帖子」,而不是相同的自定義類型的下一篇文章?似乎應該有一個內置的過濾器變量選項,但我似乎無法找到它。

這將是很好做這樣的事情:

$filter = array("foo"=>"bar","category"=>"something"); 
$next_post = get_next_post($filter); 

顯然,這不與WordPress的API,但唯一的類似選項兼容是「in_same_cat」,這是絕對不能滿足這一點。

基本的查詢,以僞SQL,會是這樣的:

SELECT * from wp_posts where (insert custom arguments here) 
    AND ID<(current post id) 
    AND LIMIT=1 
    AND ORDER_BY=ID 
    AND ORDER=DESC 

回答

0

如果我這樣做是正確,你想從改變將出現在「下/上一帖」的帖子單個模板。 據我所知,它使用post_nav_link函數(http://codex.wordpress.org/Function_Reference/posts_nav_link)。 有兩種方法來改變這種行爲:

  1. 功能參數:正如你可以在鏈接上看到的和http://core.trac.wordpress.org/browser/tags/3.6.1/wp-includes/link-template.php#L1636,你可以嘗試使用參數,以確保你想要的行爲。

但是......

  1. 使用過濾器:也許你需要的是使用的過濾器get_pagenum_link。使用此過濾器,您將能夠返回想要顯示的帖子的ID。因此,只需使用$ wp_query或$發佈全局變量並自行幫助。

如果您需要一些幫助,只需詢問,我會很樂意提供幫助。

相關問題