2014-01-05 79 views
0

我查詢2個分類使用此代碼:WordPress的get_posts返回正確的結果,但不會加載後續功能

$args = array(
    'posts_per_page' => 1, 
    'offset'   => 0, 
    'orderby'   => 'post_date', 
    'order'   => 'DESC', 
    'include'   => '', 
    'exclude'   => '', 
    'meta_key'  => '', 
    'meta_value'  => '', 
    'post_type'  => 'post', 
    'post_mime_type' => '', 
    'post_parent'  => '', 
    'post_status'  => 'publish', 
    'suppress_filters' => true, 
    'tax_query' => array(
     array(
      'taxonomy' => 'category', 
     'terms' => '16', 
     'field' => 'term_id', 
     ), 
     array(
     'taxonomy' => $this_taxonomy, 
     'terms' => $this_page, 
     'field' => 'slug', 
     ) 
    ) 
); 
$myposts2 = get_posts($args); 

,並返回一個好的結果(所產生的日誌對象具有正確的分類和分類/ slu assign分配)。

但是,當我嘗試使用後續的功能是這樣的:

<?php foreach ($myposts2 as $post2) : ?> 
    <li class="product-details"> 
    <a href="<?php the_permalink($post2->ID); ?>"><?php get_the_post_thumbnail($post2->ID, 'medium'); ?><h3><?php $post2->post_title; ?></h3></a> 
</li> 
<?php 
    endforeach; 
wp_reset_postdata(); 
?> 

我最終的永久鏈接錯誤的結果並沒有結果標題或縮略圖。

任何想法我做錯了什麼?

謝謝BA_Webimax!代碼還有一些額外的錯誤,但是您發送的參考鏈接幫助我朝着正確的方向發展。我並不希望WP要求我調用對象$ post(而不是$ post2)。另外,我使用錯誤的函數來檢索這些位。 get_permalink()很好,但我應該使用the_post_thumbnail()和the_title()來代替我選擇的函數。

回答

1

你需要在那裏打一個setup_postdata()的電話。詳見這裏... https://codex.wordpress.org/Function_Reference/setup_postdata

<?php foreach ($myposts2 as $post2) : 
    setup_postdata($post2); ?> 
    <li class="product-details"> 
    <a href="<?php the_permalink($post2->ID); ?>"><?php get_the_post_thumbnail($post2->ID, 'medium'); ?><h3><?php $post2->post_title; ?></h3></a> 
</li> 
<?php 
    endforeach; 
wp_reset_postdata(); 
?>