2016-11-11 2 views
0

Unpublished (Entwurf) Blog-Beiträge auf der Homepage erscheinen, wenn eine Kategorie ausgewählt ist, aber ich will es nicht auf meinem Heim zeigen page.Here ist meine WP-AbfrageWarum Entwurf Post Show auf meiner Homepage

<div class="wm_container wm_row wm_blog_listing"> 
     <?php 
     $wm_home_blog_args = array(
      'post_type' => 'post', 
      'posts_per_page' => 4, 
     ); 
     $wm_home_blog_qry = new WP_Query($wm_home_blog_args); 
     if ($wm_home_blog_qry->have_posts()) { 
      while ($wm_home_blog_qry->have_posts()) { 
       $wm_home_blog_qry->the_post(); 
       $wm_categories = get_the_category($post->ID); 
       $wm_home_term_ID = $wm_categories[0]->term_id; 
       $wm_home_blog_bg = get_term_meta($wm_home_term_ID, 'wm_term_color', true); 
       ?> 
       <article class="wm_col wm_col_3 wm_blog_item" 
         style="background-color: <?php echo $wm_home_blog_bg; ?>"> 
        <?php 
        if (has_post_thumbnail()) { 
         ?> 
         <a class="wm_post_thumbnail_wrapper" href="<?php the_permalink() ?>"> 
          <?php 
          the_post_thumbnail('wm_recent_issue_cat'); 
          ?> 
          <span class="wm_image_overlay">Preview</span> 
         </a> 
         <?php 
        } else { 
         ?> 
         <a class="wm_post_thumbnail_wrapper" href="<?php the_permalink() ?>"> 
          <img src="http://placehold.it/255x135?text=No+Image"> 
          <span class="wm_image_overlay">Preview</span> 
         </a> 
         <?php 
        } 
        ?> 

Antwort

0

post_status (String/Array) - Verwendung Post-Status. Ruft Posts nach Post Status ab. Der Standardwert ist 'publish', aber wenn der Benutzer angemeldet ist, wird 'private' hinzugefügt. Öffentliche benutzerdefinierte Status sind ebenfalls standardmäßig enthalten. Und wenn die Abfrage in einem Admin-Kontext (Administrationsbereich oder AJAX-Aufruf) ausgeführt wird, werden auch geschützte Status hinzugefügt. Standardmäßig sind die geschützten Status 'future', 'draft' und 'pending'.

https://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters

+0

Es ist sehr hilfreich für mich, aber ich weiß nicht, warum mein Problem immer noch :( – Talha

+0

Danke für die Freigabe. – Talha

+0

haben Sie versucht, Sie "get_post_status" innerhalb der Schleife zu entleeren , nur um sicher zu gehen, dass die angezeigten Posts in der Tat 'Entwurf' sind (vielleicht ziehen Sie Daten aus einer anderen DB oder etwas, was Sie nicht vorhergesehen haben) – arhak

2

Pass Beitrag Statusparameter in Array

$wm_home_blog_args = array(
      'post_type' => 'post', 
      'posts_per_page' => 4, 
      'post_status' => 'publish', 
     ); 

ich hoffe, dies wird für Sie arbeiten.

+0

Ich versuchte es auch, aber nicht funktioniert. Hoffe, dass Sie mir bald andere Methoden vorschlagen. ;) – Talha

+0

Ich denke, dein Beitrag nicht korrekt aktualisiert.update einmal und dann versuchen –

+0

wenn immer noch nicht funktioniert, fügen Sie diese Funktion in While-Schleife und überprüfen Sie den Status der Post. https://codex.wordpress.org/Function_Reference/get_post_status –

Verwandte Themen