Wordpress - Abfrage, ob ein benutzerdefinierte Post-Typ hat keine Beiträge - von außerhalb der Schleife

StackOverflow https://stackoverflow.com/questions/4023932

Frage

Ich mache ein Restaurant Menü benutzerdefinierten Post-Typen für die verschiedenen Menü-Abschnitte verwenden. Ich benutzen die ausgezeichneten Benutzerdefinierte Beitragstypen UI-Plugin und die Verve Meta Boxes Plugin. Ich bin dann sie aus in separate Schleifen mit mehreren Segmenten des folgenden Code fließt:

    <?php 
   $hotfood = get_posts( array('post_type' => 'hotfood', 'posts_per_page' => -1) );
    foreach ($hotfood as $post) : 
      setup_postdata($post);
   ?>
   <dl>
    <dt>
     <strong><?php the_title_attribute(); ?></strong>
     <span>&pound;<?php echo get_post_meta($post->ID, 'price', true) ?></span>
    </dt>
   <?php
   $key = 'description';
   $themeta = get_post_meta($post->ID, $key, TRUE);
   if($themeta != '') {
   echo '<dd>'.$themeta.'</dd>';
   }
   ?>
   </dl> 

Aber dann darüber, ich versuche eine if bekommen zu fragen, ob es irgendwelche Beiträge innerhalb eines benutzerdefinierten Post-Typs, dass ich definiert haben.

Ich habe versucht, Dinge wie

     <?php if(get_posts ('post_type' => 'hotfood')
  echo '<h2>Hot Food</h2>';
     ?>

und

  <?php $args = array
   (
   'post_type' => 'hotfood',
   'numberposts' => -1'
   );

   $hotfoodpresent = get_posts($args);

    if($hotfoodpresent) echo '<h2>Hot Food</h2>';
  ?>

, aber keiner von denen scheinen zu arbeiten. Ich glaube, ich habe durch die Wordpress Codex surften und haben ziemlich viel Zeit damit verbracht, um das Problem zu entziffern.

Jede Hilfe würde sehr geschätzt werden.

UPDATE: Sorry, total geordnet. Ich war overcomplicating Dinge. Ein einfaches

<?php
$hotfoodpresent = get_posts( 
    [
        'post_type' => 'hotfood', 
        'posts_per_page' => 1,
        'fields' => 'ids'
    ] 
);

if ($hotfoodpresent) {
    echo '<h2>Hot Food</h2>'
};

funktionierte perfekt.

War es hilfreich?

Lösung

Ich war overcomplicating Dinge. Ein einfaches

<?php
$hotfoodpresent = get_posts( 
    [
        'post_type' => 'hotfood', 
        'posts_per_page' => 1,
        'fields' => 'ids'
    ] 
);

if ($hotfoodpresent) {
    echo '<h2>Hot Food</h2>';
};

funktionierte perfekt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top