كيف يمكنني الحصول على وورد لتجاوز المشاركات السابقة query ؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

لدي صفحة يحتوي على فئة القائمة في الجزء العلوي ، و عادة قائمة الوظائف أدناه.قائمة الفئات التي تم إنشاؤها باستخدام:

    <?php $display_categories = array(4,7,8,9,21,1); $i = 1;
foreach ($display_categories as $category) { ?>
<?php single_cat_title(); ?> //etc
</div>
    <?php } ?>

ومع ذلك ، يبدو أن هذا جعل آخر حلقة ترتيب الوظائف حسب الفئة.أريد أن تجاهل فئة يأمر والنظام قبل التاريخ في ترتيب تنازلي.لقد خلق جديد WP_Query منذ حسب مستندات لا يمكنك استخدام query_posts() مرتين ، وذلك فقط في حالة.

    <?php $q = new WP_Query("cat=-1&showposts=15&orderby=date&order=DESC");
    if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post(); ?>
    the_title(); // etc
    endwhile; endif; ?>

ومع ذلك ، لا يزال يبدو أن يأمر من الفئة (نفس الترتيب كما في القائمة أعلاه) ثم قبل التاريخ ، مقابل ما قبل التاريخ.

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

المحلول

كانت لدي مشاكل مع هذا من قبل.

جرب هذا:

      <?php
     global $post;
     $myposts = get_posts('numberposts=5');

     foreach($myposts as $post) : 
     setup_postdata($post);
     ?>
       <div <?php post_class(); ?>>
         <div class="title">
           <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
           <p class="small"><?php the_time('F j, Y'); ?> by <?php the_author(); ?></p>
         </div>
         <?php the_excerpt(); ?>
       </div>
 <?php 
     endforeach; 
 ?> 

السطر المهم هو 'global $post;'.

التي ينبغي إعادة تعيين الخاص بك الاستعلام العالمية.إن 'setup_postdata($post) طريقة الضروري إعطاء لك الوصول إلى الوظائف مثل 'the_author()' أو 'the_content()'.

-كريس

نصائح أخرى

ليس لدي أي خبرة مع وورد, ولكن عددا من الاحتمالات:

  1. يمكنك تحديد "النظام" المعلمة مرتين في السلسلة كنت تدعو query_posts() مع أنا لا أعرف إذا كان هذا يسبب مشكلة أم لا.
  2. وكذلك "عرض" ليست صالحة المعلمة, كنت قد تبحث عن "showposts".

المعلمات و آثارها هو موضح هنا: http://codex.wordpress.org/Template_Tags/query_posts#Parameters

query_posts هو صعب في بعض الأحيان.محاولة شيء من هذا القبيل و نرى ما اذا كان يعمل:

query_posts(array('category__not_in'=>array(1),
                  'showposts'=>15,
                  'orderby'=>date,
                  'order'=>DESC));

لأن هذه ليست المشكلة, حاول إضافة update_post_caches($الوظائف) إلى الحلقة الثانية, مثل هذا:

<?php $q = new WP_Query("cat=-1&showposts=15&orderby=date&order=DESC");
if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post(); update_post_caches($posts); ?>
the_title(); // etc
endwhile; endif; ?>

يفترض هذا يحل بعض المساعد مشاكل.

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