2014-12-21 9 views
5

पर वेरिएबल पास करने का प्रयास कर रहा है मेरे साथी डेवलपर्स हैलो। मैं एक माध्यमिक वर्डप्रेस क्वेरी को संशोधित करने का प्रयास कर रहा हूं और इसे मूल पोस्ट श्रेणी के अनुसार पदों की एक सूची प्रदर्शित करता हूं। वर्तमान में यह पोस्ट को स्टाइल करने के लिए एचटीएमएल आउटपुट करता है, हालांकि यह श्रेणी के अनुसार नहीं है। मुझे यहां क्या समझ नहीं आ रहा है? अग्रिम में धन्यवाद। क्योंकि $post WordPress के लिए एक आरक्षित कीवर्ड हैवर्डप्रेस फ़ंक्शन

$myposts = get_posts('numberposts=5&category='.$the_category.''); 

साथ
$myposts = get_posts('numberposts=5&category='.$the_category); 

प्रोग्रामिंग के एक कीवर्ड के $post उपयोग न करें:

<?php 
      $the_category = get_the_category($post->ID); 
      global $post; 
      $myposts = get_posts('numberposts=5&category='.$the_category.''); 
      foreach($myposts as $post) : setup_postdata($post); ?> 
     <li> 
      <div class="suggestVid"> 
       <span style="padding-right:5px; float:left;"> 
       <?php the_post_thumbnail('suggest-vid'); ?></span> 
       <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> 
      </div> 
     </li> 
     <?php wp_reset_postdata(); ?> 
     <?php endforeach; ?> 
     <?php wp_reset_query(); ?> 

उत्तर

3

आप get_the_category($post->ID); पर कॉल कर रहे हैं और सोच रहे हैं कि यह वास्तव में एक श्रेणी लौटाता है, जब यह वास्तव में returns an array of category objects होता है। मानते हैं कि प्रत्येक पोस्ट में केवल एक श्रेणी है, आप केवल पहला परिणाम ले सकते हैं जो लौटाया गया था।

तुम भी wp_reset_postdata(); और endforeach; के आदेश को मिलाया। आप अपने लूप के अंदर पोस्ट डेटा को रीसेट करना समाप्त कर देते हैं, इसलिए यह हमेशा प्रत्येक लूप पुनरावृत्ति के माध्यम से वर्तमान पृष्ठ पर रीसेट कर रहा है। एक बार लूप समाप्त हो जाने के बाद ही आप इसे रीसेट करना चाहते हैं।

इसके अलावा, यदि आप टेम्पलेट पेज पर The Loop के अंदर हैं, तो आपको सीधे global $post; निर्दिष्ट करने की आवश्यकता नहीं है।

इस प्रयास करें:

$categories = get_the_category(); 
$category = $categories[0]; 

$myposts = get_posts(array(
    'posts_per_page' => 5, 
    'category'  => $category->cat_ID 
)); 

?><ul><?php 

foreach($myposts as $post) : setup_postdata($post); ?> 
    <li> 
     <div class="suggestVid"> 
      <span style="padding-right:5px; float:left;"> 
      <?php the_post_thumbnail('suggest-vid'); ?></span> 
      <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> 
     </div> 
    </li><?php 

endforeach; 
wp_reset_postdata(); 

>

+1

ऐसा लगता है! बहुत धन्यवाद श्री रोमन! – Ken

2

इस बदलें।

+0

यह भी दुर्भाग्य से किसी भी परिणाम माइक परसेल की तुलना में अलग उत्पादन नहीं किया?। हालांकि आपकी मदद के लिए धन्यवाद। – Ken