2015-05-21 28 views
3

我創造我想要顯示「頁面」必須從一個頁面的一些內容,然後6上的帖子基於2013年一WP模板。這些帖子已通過主題選項面板使用設置API進行選擇。所以,我可以在每一個使用 $options = get_option('osc_theme_options'); 我一直使用至今的模板獲得是基於一個頁面上,所以我猜我需要改變循環以某種方式。WordPress的集約頁和崗位

環路雲:

<?php /* The loop */ ?> 
      <?php while (have_posts()) : the_post(); ?> 

       <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>... 

我想知道如何改變循環,使得它拉在短短已選擇的主題。目前,此模板/循環只拉在網頁 - 我的猜測是不夠公平的。

有沒有可能創造也許下:第一,然後帶來選定文章「另一個循環」 - 如果又如何?

非常感謝

回答

1

是的,你可以有效地創建現有循環下另一個循環顯示的職位。我不知道什麼$options = get_option('osc_theme_options');的回報,即帖子的ID等組成的數組爲了顯示你需要做一個自定義循環的帖子:

https://css-tricks.com/snippets/wordpress/custom-loop-based-on-custom-fields/

// The Query 
$the_query = new WP_Query($args); 

// The Loop 
if ($the_query->have_posts()) 
{ 
    echo '<ul>'; 
    while ($the_query->have_posts()) 
    { 
    $the_query->the_post(); 
    echo '<li>' . get_the_title() . '</li>'; 
    } 

    echo '</ul>'; 
} 
else 
{ 
    // no posts found 
} 
/* Restore original Post Data */ 
wp_reset_postdata(); 

這是取自

另請參閱以下內容:

https://digwp.com/2011/05/loops/

http://www.smashingmagazine.com/2013/01/14/using-wp_query-wordpress/

所以有效這一切都歸結到$args變量來你會得到哪些帖子。這是多次ids

id=2,6,17,38 

所以的一個例子,如果$options = get_option('osc_theme_options');返回後ID的這樣一個數組:

array(
     0=>1 
     1=>22 
     2=>27 
) 

你也許可以這樣做:

$args = "id=".implode($options,","); 

這是最好的建議我可以毫不主題等

+0

感謝較深的造詣給 - 這是一個真正有用的指針。經過一些實驗後,它就可以工作了! – maxelcat