Wordpress - requête si un type de poste personnalisé a des messages - en dehors de la boucle

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

Question

Je fais un menu de restaurant en utilisant des types de poste personnalisé pour les différentes sections du menu. J'ai utilisé les excellents types de poste personnalisé plugin interface utilisateur et le plug-in Boîtes Meta Verve. Je puis les jettent dans des boucles séparées avec plusieurs segments du code ci-dessous:

    <?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> 

Mais au-dessus de cela, je suis en train d'obtenir un if demander s'il y a des postes au sein d'un type de poste personnalisé que je l'ai défini.

J'ai essayé des choses comme

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

et

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

   $hotfoodpresent = get_posts($args);

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

mais aucun des deux ne semble fonctionner. Je pense que je l'ai à travers le Codex chalutables Wordpress et ai passé beaucoup de temps à essayer de déchiffrer la question.

Toute aide serait grandement appréciée.

Mise à jour: Désolé, totalement triés. Je les choses trop compliquer. Un simple

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

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

a parfaitement fonctionné.

Était-ce utile?

La solution

je les choses trop compliquer. Un simple

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

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

a parfaitement fonctionné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top