2012-07-07 50 views
7

這是關於單個帖子的視圖。我想設置一個和下一個相關博客文章像這樣的鏈接:如何在wordpress中獲得下一個/上一個發佈的hrefs和標題

<a class="prevpost" href="linktoprevpost" title="prev post's title">&nbsp;</a> 
<a class="nextpost" href="linktonextpost" title="next post's title">&nbsp;</a> 

其中兩個環節獲得的圖像通過使用顯示器背景:塊和指定的寬度和高度。鏈接帖子的標題應該可以通過a-tag的title-attribute來訪問,以便用戶可以通過懸停來查看它們。
我也想限制當前類別的鏈接帖子。所以,我需要找到一種方式來獲得

  1. 的一個標籤與一個/下一個後
  2. 這是在同一類別目前看
  3. 沒有因爲內文的一個的href和backgroundImage
  4. 在標題屬性
  5. 上一個/下一個職位名稱與自定義CSS類


類別匹配只需要第一級,因爲我將我的頁面劃分爲3個主要類別。我正在使用

$a = get_the_category(get_the_ID()); 
$cat = $a[0]->name; 

用於獲取第一個類別的名稱並將其設置爲header.php中的附加主體類。也許我可以重複使用它?

我還發現,使用previous_post_link()和next_post_link()像這樣

next_post_link('%link', '', TRUE); 

給我同一類別的職位沒有內部內容,所以1 3將得到解決。但看來,爲了得到我也需要另一種方式。

使用Wordpress版本3.4.1。

+0

也見http://wordpress.stackexchange.co m/questions/57831/get-the-prev-next-page-links-only-not-title-a-etc – fuxia 2012-07-09 03:35:47

+0

這是關於前一頁,不是發佈,我無法找到與我的5分制內容匹配的內容。上面列出。 – 32bitfloat 2012-07-09 06:39:41

回答

24

無需功能和過濾所有你需要做的就是用get_adjacent_post而不是next_post_linkprev_post_link,需要注意的是get_adjacent_post用於獲取一個和下一個職位,你可以讀到它here 要獲得以前的帖子,它的title屬性使用此

$prev_post = get_adjacent_post(false, '', true); 
if(!empty($prev_post)) { 
echo '<a href="' . get_permalink($prev_post->ID) . '" title="' . $prev_post->post_title . '">' . $prev_post->post_title . '</a>'; } 

要獲得下一個職位,它的title屬性使用此

$next_post = get_adjacent_post(false, '', false); 
if(!empty($next_post)) { 
echo '<a href="' . get_permalink($next_post->ID) . '" title="' . $next_post->post_title . '">' . $next_post->post_title . '</a>'; } 
+0

這節省了我的屁股。非常感謝 – Christina 2014-12-09 15:19:11

-2
<? 
echo '<a href="'.get_permalink(get_the_ID()-1).'" title="'.get_the_title(get_the_ID()-1).'">Previous</a>'; 
echo '<a href="'.get_permalink(get_the_ID()+1).'" title="'.get_the_title(get_the_ID()-1).'">Next</a>'; 

?> 
+2

感謝您的回答,但我想如果我想限制主要當前類別的鏈接帖子,我不能直接沿着帖子ID。下一個ID可能會返回另一個類別的帖子。 – 32bitfloat 2012-07-07 23:59:29

+0

不容易。您可以使用if語句來查看是否存在下一頁或是否存在前一頁 – maxhud 2012-07-08 00:27:03

+6

從ID中加入和減去1絕對不是獲取下一篇文章和以前文章的可靠方法。 – jessica 2013-01-21 23:23:44

1

明白了。

現在,這是我的代碼:

$p = get_adjacent_post(1, '', 1); 
if(!empty($p)) echo '<a class="prevpost" href="'.$p->guid.'" title="'.$p->post_title.'">&nbsp</a>'; 
$n = get_adjacent_post(1, '', 0); 
if(!empty($n)) echo '<a class="nextpost" href="'.$n->guid.'" title="'.$n->post_title.'">&nbsp</a>'; 

該函數返回前一個/下一個職位,我可以用於生成我的鏈接的對象。第一個參數是限制同一​​只貓的帖子。
昨天我在wordpress codex中搜索了幾次,但沒有遇到這個函數,現在偶然地遇到了它。

如果有人有更好/更簡單/更快的方法,請張貼以獲得接受的答案。

+1

不要使用guid作爲後鏈接,當post slugs改變或者如果你移動到一個新的域時,它不會得到更新,而是使用'get_permalink($ post-> ID)',因爲這會永遠給你正確的鏈接。 – jessica 2013-01-21 23:24:52

+0

這是有用的.. – sun 2014-01-30 09:10:30

相關問題