2012-08-10 9 views
9

मैं अपने पृष्ठ टेम्पलेट में इस का उपयोग कर रहा उनके श्रेणी के द्वारा पोस्ट प्राप्त करने के लिए:WP - श्रेणी के आधार पर पोस्ट प्राप्त करें?

<?php 
     if (is_page(19)){ 
      ?> 
      <ul> 
      <?php 
       global $post; 
       $args = array('category' => 'Testimonial'); 
       $myposts = get_posts($args); 
       foreach($myposts as $post) : setup_postdata($post); ?> 
        <li class="testimonial"><?php the_content(); ?></li><br/> 
       <?php endforeach; ?> 
      </ul> 
     <?php } ?> 

लेकिन यह बजाय सभी पोस्ट को पुन: प्राप्त कर रहा है। न केवल प्रशंसापत्र लेबल वाले। कोई विचार क्या मैं गलत कर रहा हूँ?

उत्तर

11

यहाँ की जांच: http://codex.wordpress.org/Template_Tags/get_posts

नोट: श्रेणी पैरामीटर श्रेणी का आईडी, और नहीं श्रेणी के नाम पर होने की जरूरत है।

+0

इससे बहुत मदद मिली! धन्यवाद – Jordan

+0

आपका स्वागत है। – Eray

19

'CATEGORY_NAME' => 'इस बिल्ली' भी काम करता है लेकिन WP डॉक्स

+0

अब यह है - http://codex.wordpress.org/Template_Tags/get_posts – Ciprian

1

आप मानकों में 'CATEGORY_NAME' का उपयोग कर सकते में मुद्रित नहीं है। http://codex.wordpress.org/Template_Tags/get_posts

नोट: CATEGORY_NAME पैरामीटर,, एक स्ट्रिंग की जरूरत है श्रेणी के नाम पर इस मामले में।

1
add_shortcode('seriesposts', 'series_posts'); 

function series_posts($atts) 
{ ob_start(); 

$myseriesoption = get_option('_myseries', null); 

$type = $myseriesoption; 
$args=array( 'post_type' => $type, 'post_status' => 'publish', 'posts_per_page' => 5, 'caller_get_posts'=> 1); 
$my_query = null; 
$my_query = new WP_Query($args); 
if($my_query->have_posts()) { 
echo '<ul>'; 
while ($my_query->have_posts()) : $my_query->the_post(); 
echo '<li><a href="'; 
echo the_permalink(); 
echo '">'; 
echo the_title(); 
echo '</a></li>'; 
endwhile; 
echo '</ul>'; 
} 
wp_reset_query(); 




return ob_get_clean(); } 

// इस एक शोर्ट समारोह उत्पन्न होगा अपनी साइट पर इस्तेमाल किया जा रहा [seriesposts]

0

एक वर्गीकरण क्षेत्र श्रेणी (फ़ील्ड नाम = post_category) बनाएँ और अपने टेम्पलेट में आयात के रूप में नीचे दिखाया गया है :

<?php 
      $categ = get_field('post_category'); 
      $args = array('posts_per_page' => 6, 
     'category_name' => $categ->slug); 
      $myposts = get_posts($args); 
      foreach ($myposts as $post) : setup_postdata($post); ?> 
      //your code here 
      <?php endforeach; 
      wp_reset_postdata();?> 
संबंधित मुद्दे