WordPress - استعلام إذا كان نوع النشر المخصص له أي منشورات - من خارج الحلقة

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

سؤال

أقوم بعمل قائمة مطعم باستخدام أنواع منشورات مخصصة لأقسام القائمة المختلفة. لقد استخدمت البرنامج المساعد المخصص لـ POST TROTES و PENTER META BOXIS. أنا ثم أقوم بتدفقهم إلى حلقات منفصلة مع عدة شرائح من الكود أدناه:

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

ولكن بعد ذلك ، أحاول الحصول على if السؤال عما إذا كانت هناك أي منشورات ضمن نوع منشور مخصص قمت بتعريفه.

لقد جربت أشياء مثل

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

و

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

   $hotfoodpresent = get_posts($args);

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

لكن لا يبدو أن أياً من هؤلاء يعملون. أعتقد أنني صمدت من خلال مخطوطة WordPress وقضيت الكثير من الوقت في محاولة فك تشفير المشكلة.

أي مساعدة سيكون موضع تقدير كبير.

تحديث:آسف ، مرتبة تماما. كنت أفرط الأشياء. بسيط

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

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

عملت تماما.

هل كانت مفيدة؟

المحلول

كنت أفرط الأشياء. بسيط

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

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

عملت تماما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top