2016-06-04 4 views
0

Ich habe alle Beiträge auf einer Seite angezeigt.Aktuell ausgewählten Beitrag aus der Liste ausblenden wordpress

Der ausgewählte Beitrag muss aus der Liste ausgeblendet werden.

Hier ist mein Code und Screenshot.

<?php 
global $post; 
if(is_category() || is_single()){ 
foreach(get_the_category() as $category){ 
$current = $category->cat_ID; 
$current_name = $category->cat_name; 
$myposts = get_posts(array('category__in' => array($current))); 
$myposts = get_posts('numberposts=50&category='.$current); 
    } 
} 
foreach($myposts as $post) : setup_postdata($post); 
?> 
<div class="container-fluid"> 
<div class="row"> 
<div class="col-xs-12 col-sm-6 col-md-3"> 
    <div class="profile-desc"> 
     <figure class="bgimg" style="background-image:url('<?php echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID)); ?>');"></figure> 
     <div class="profile-heading"><?php the_title();?></div> 
     <div class="profile-history"><?php the_content(); ?> 
      <div class="read"> 
       <a class="more-link" href="<?php the_permalink();?>"><?php _e('Read More');?></a> 
      </div> 
     </div> 
    </div> 
</div> 
<?php endforeach; ?> 
</div> 
</div> 

Screenshot

enter image description here

+0

['& ausschließen = $ Post-> ID'] (http://codex.wordpress.org/get_posts)? –

+0

Ja. Aktuellen Beitrag aus der Liste ausschließen (Reff: Screenshot). –

Antwort

1
<?php 
global $wp_query; 
$cat_ID = get_the_category($post->ID); 
$cat_ID = $cat_ID[0]->cat_ID; 
$this_post = $post->ID; 
query_posts(array('cat' => $cat_ID, 'post__not_in' => array($this_post), 'posts_per_page' => 14, 'orderby' => 'rand')); 
?> 

Sie müssen Ihre Suche zu starten. Sie können das Argument post_not_in hinzufügen, damit es ausgeschlossen wird.

Es ist viel einfacher schneller und sicherer als andere Ansätze. Es ist auch der empfohlene Ansatz von der WP-Codex: http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

+0

Ich habe es versucht. es wiederholt sich viele Male. Ich würde gerne Posts gleich Screenshot mit Ausnahme des aktuellen (Selected) Beitrags aus der Liste –

+0

Genau bekommen. Sie müssen also nur $ myposts = get_posts (array ('Kategorie__in' => Array ($ aktuelle), 'post__not_in' => $ post-> ID)); –

Verwandte Themen