seçici kategori dayalı wordpress mesajlarını göster

3 Cevap php

Şu anda ben Wordpress (kod çalışıyor) için kenar çubuğu kod parçası olarak aşağıdaki kodu kullanıyorum:

<ul class="linklist">
<?php $recentPosts = new WP_Query(); 
$recentPosts->query('showposts=12'); 
while ($recentPosts->have_posts()) : $recentPosts->the_post(); 
?> 
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Link to <?php the_title();
 ?>"> 
 <?php the_title(); 
?></a> </li> 
<?php endwhile;?> </ul> 

It shows the last 12 posts. But what I'm looking for is the following; first check what category the current post (the post that is showing based on the permalink) belongs to, and then only list the latest posts that belong to that same category. What should be edited? Thanks!

3 Cevap

http://codex.wordpress.org/Function_Reference bir göz atın

Eğer get_the_category () istediğiniz için gidiyoruz gibi geliyor. (Günlük birden fazla kategoriye ait olabilir). Sonra) kategorisinde bayrağı geçen ve her ne olursa olsun istediğiniz (get_posts aramak istediğiniz için gidiyoruz.

Bu kısa ve akıllı bir çözüm olmayabilir ama herhangi bir yazım hatası dahil olmasaydı bu şekilde çalışması gerekir.

Mesaj birden fazla kategoriye sahip olabilir ve aşağıdaki komut Bunlardan ilk sadece ilgi olduğunu unutmayın. Ama sen de, komut dosyasını değiştirmek ve birden çok kategoride için son mesajları seçebilirsiniz.

<?php
if (is_single()) :
    $post_id = $wp_query->posts[0]->ID; // get id of post
    $cats_of_post = get_the_category($post_id); // get categories by post id
    $first_cat_id = $cats_of_post[0]->cat_id; // get first category id
    $first_cat_name = $cats_of_post[0]->cat_name; // get category name
?>
<div id="widget-container-recent-in-category">
    <div class="widget-title">
        <h3>Latest posts in <?php echo $first_cat_name; ?>:</h3>
    </div>
    <div class="widget-content">
        <ul>
        <?php
            global $post;
            $posts_in_cat = get_posts('numberposts=5&category='.$first_cat_id);
            // iterate over posts in category and output as listitem
            foreach($posts_in_cat as $post) :
        ?>
           <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php
            endforeach;
        ?>
        </ul>
    </div>
</div>
<?php 
    endif;
?> 

Bu yeni bir (php exec etkin) bir yazı veya sayfa mutliple kez kullanılabilir sorgu ya da kenar çubuğu ve birbirlerine ya da ana WP döngü ile çatışma olmaz. Kendi kategori adının mycategory değiştirin:

<?php $my_query = new WP_Query('category_name=mycategory&showposts=12'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
<?php endwhile; ?>