2012-07-07 16 views
7

में अगली/पिछली पोस्ट 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> 

जहां दोनों लिंक प्रदर्शन का उपयोग करके पृष्ठभूमि के रूप में एक छवि मिलती है: ब्लॉक और निर्दिष्ट चौड़ाई और ऊंचाई। लिंक किए गए पदों के शीर्षक ए-टैग के शीर्षक-विशेषता के माध्यम से सुलभ होना चाहिए, ताकि उपयोगकर्ता उन्हें होवर करके देख सकें।
मैं भी मौजूदा श्रेणी में लिंक्ड पोस्ट को प्रतिबंधित करना चाहता हूं। इसलिए मैं

  1. एक पिछली/अगली पोस्ट
  2. जो एक वर्तमान में देखी
  3. की वजह से आंतरिक पाठ के बिना के रूप में एक ही श्रेणी में है की href के साथ एक-टैग पाने के लिए एक रास्ता खोजने की जरूरत है backgroundimage
  4. शीर्षक-विशेषता
  5. में पिछले/अगली पोस्ट नाम के साथ एक कस्टम सीएसएस स्तरीय


के साथश्रेणी मिलान केवल प्रथम स्तर की आवश्यकता है क्योंकि मैंने अपने पृष्ठ को 3 मुख्य श्रेणियों में विभाजित किया है। मैं

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

उपयोग कर रहा हूँ पहली श्रेणी के नाम हो रही है और यह header.php में के रूप में अतिरिक्त शरीर स्तरीय स्थापित करने के लिए। शायद मैं इसका पुन: उपयोग कर सकता हूं?

मैं भी पता चला कि इस तरह से

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

तरह previous_post_link() और next_post_link() का उपयोग कर मुझे भीतरी सामग्री के बिना एक ही श्रेणी के पदों देता है, तो 1 3 हल हो जाएगा। लेकिन ऐसा लगता है कि 4 & 5 प्राप्त करने के लिए मुझे भी एक और तरीका चाहिए।

वर्डप्रेस संस्करण 3.4.1 का उपयोग करना।

+0

भी देखें http://wordpress.stackexchange.co का उपयोग एम/प्रश्न/57831/get-the-prev-next-page-links-only-not-title-a-etc – fuxia

+0

यह पिछले पृष्ठ के बारे में है, पोस्ट नहीं है, और मुझे अपने 5-पॉइंट- उपरोक्त लिस्टिंग – 32bitfloat

उत्तर

24

कार्यों के लिए कोई ज़रूरत नहीं है और फिल्टर तुम सब करने की जरूरत है next_post_link और prev_post_link के बजाय get_adjacent_post उपयोग करने के लिए, ध्यान दें कि get_adjacent_post पिछले और अगले पद प्राप्त करने के लिए प्रयोग किया जाता है, तो आप पढ़ सकते हैं के बारे में यह here पिछले पोस्ट प्राप्त करने के लिए और यह है शीर्षक विशेषता का उपयोग इस

$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>'; } 

अगले पोस्ट प्राप्त करने के लिए है और यह शीर्षक है विशेषता यह

$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

-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

आपके उत्तर के लिए धन्यवाद लेकिन मुझे लगता है कि अगर मैं मुख्य वर्तमान श्रेणी में लिंक्ड पोस्ट को प्रतिबंधित करना चाहता हूं तो मैं पोस्ट आईडी के साथ सीधे नहीं जा सकता। यह संभव हो सकता है कि अगली आईडी दूसरी श्रेणी का एक पद वापस कर देगी। – 32bitfloat

+0

आसानी से नहीं। यदि आप अगले पृष्ठ पर हैं या यदि कोई पिछला पृष्ठ – maxhud

+6

आईडी से जोड़ना और घटाना है तो आप अगली और पिछली पोस्ट प्राप्त करने के लिए निश्चित रूप से विश्वसनीय तरीका नहीं हैं, तो आप इसका उपयोग कर सकते हैं। – jessica

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>'; 

समारोह पिछला/अगले पोस्ट जो मैं अपने लिंक पैदा करने के लिए उपयोग कर सकते हैं की एक वस्तु देता है:

अब यह मेरा कोड है। पहला पैरामीटर उसी बिल्ली पर पोस्ट को प्रतिबंधित करने के लिए है।
मैंने कल कुछ बार वर्डप्रेस कोडेक्स में खोज की लेकिन इस समारोह में नहीं आया, अब दुर्घटनाग्रस्त हो गया है।

यदि किसी के पास एक बेहतर/सरल/तेज विधि है तो कृपया एक स्वीकृत उत्तर प्राप्त करने के लिए पोस्ट करें।

+1

पोस्ट लिंक के रूप में guid का उपयोग न करें, जब पोस्ट स्लग बदलते हैं या यदि आप किसी नए डोमेन पर जाते हैं, तो अपडेट नहीं होते हैं। इसके बजाय 'get_permalink ($ post-> ID)' का उपयोग करें, क्योंकि यह हमेशा आपको देगा सही लिंक – jessica

+0

यह उपयोगी है .. – sun