2013-09-28 65 views
0

我需要顯示從屬於類別的帖子中的主圖像添加到WordPress的側邊欄,代碼工作完美,如果我在一個頁面,但不是在主頁或搜索結果頁面,這是我的代碼:WordPress的顯示在邊欄中的職位數據

<ul id="sliderContent"> 
    <?php 
$joiners .= " LEFT OUTER JOIN wp_term_relationships r ON r.object_id = wp_posts.ID 
LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxonomy_id 
LEFT OUTER JOIN wp_terms t ON t.term_id = x.term_id "; 
$sentgeters .= " AND t.slug = 'CATEGORY_NAME_GOES_HERE' "; 

     $querystr = " 
       SELECT wp_posts.* 
       FROM wp_posts ".$joiners." 
       WHERE wp_posts.post_status = 'publish' 
       AND wp_posts.post_type = 'post' ".$sentgeters." 
       ORDER BY RAND() " ; 

     $pageposts = $wpdb->get_results($querystr, OBJECT); 

    ?> 

    <?php if ($pageposts): ?> 
    <?php global $post; ?> 
    <?php foreach ($pageposts as $post): ?> 
    <?php setup_postdata($post); ?> 

    <li class="sliderImage"> 
     <a href="<?php the_permalink() ?>"><?php main_image(); ?></a> 
     <span class="top"><?php the_title(); ?></span> 
    </li> 


    <?php endforeach; ?> 
    <?php endif; ?> 
    <div class="clear sliderImage"></div> 
</ul> 

main_image()是我寫的函數,用於顯示上傳到帖子的第一張圖片。 有什麼想法?

+0

您是否定義了'global $ wpdb'? –

+0

你爲什麼要編寫自定義查詢?在wordpress中,建議使用get_posts或query_posts。 – 2013-09-28 10:18:20

+0

@dianuj是的我做過 – housamz

回答

3

你爲什麼要寫自定義查詢?在wordpress中,建議使用get_posts或query_posts。

參見:http://codex.wordpress.org/Template_Tags/get_posts

<?php $posts_array = get_posts(array(
    'posts_per_page' => 5, 
    'offset'   => 0, 
    'category'   => $cat_id, 
    '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)); ?> 

注:類別參數必須是該類別的ID,而不是類別名稱。

要獲取類ID:

<?php $cat_id = get_category_by_slug($slug); ?> 

和foreach:

foreach ($posts_array as $p) { 
    print_r ($p); 
} 

你的代碼變得可讀性強,易於維護,而且最重要的,你不會遇到問題。

+0

謝謝,它工作! 我可以使用上面的代碼中的自定義查詢:) – housamz

+0

@xyro你的歡迎:)與meta_key meta_value你可以做任何事情。 – 2013-09-28 15:38:37

相關問題