2017-07-31 59 views
1

因此,我有以下查詢來顯示頁面模板上的帖子。Wordpress自定義類別字段返回匹配的帖子類別

 $wp_query = new WP_Query(); $wp_query->query('category_name=specials&posts_per_page=2' . '&paged='.$paged); 

哪裏有CATEGORY_NAME =特價我想特價是一個動態的現場獲悉/從自定義字段獲取網頁...所以頁面可能有一個自定義字段「類別」,例如,我可以輸入它的特殊值。因此,該頁面將顯示與我在客戶字段值中鍵入的類別匹配的所有帖子......這可能嗎?

+0

所以你試圖複製已經存在的類別頁面/存檔功能與你自己?爲什麼? – CBroe

回答

1

是,自定義字段的值賦給一個變量並在查詢中使用它如下圖所示:通過使用下面的代碼

$custom_field = //get custom field value 

$wp_query = new WP_Query(); $wp_query->query('category_name='.$custom_field.'&posts_per_page=2' . '&paged='.$paged); 
+1

$ custom_field = get_post_meta(get_the_ID(),'category',true); $ wp_query = new WP_Query(); $ wp_query-> query('category_name ='。$ custom_field。'&posts_per_page = 2'。'&paged ='。$ paged); 非常感謝尼爾,這就是我需要的。這是我使用過的自定義字段,效果很好! –

1

如何獲得該類別明智的帖子?

添加類別ID和分類塞在參數

<?php 
$post_type = 'post'; 
$page_paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array(
    'type'   => $post_type, 
    'post_status' => 'publish', 
    'posts_per_page' => 6, 
    'paged'   => $page_paged, 
    'caller_get_posts' => -1, 
    'orderby'  => 'name', 
    'order'   => 'DESC', 
    'pad_counts' => false, 
    'hierarchical' => 1, 
    'hide_empty' => 0, 
    'tax_query'    => array(
     array(
      'taxonomy' => 'your taxonomy slug', 
      'field' => 'id', 
      'terms' => 'your category id' 
     ) 
    ), 
); 

$loop = new WP_Query($args); 

while (have_posts()) : the_post(); 
    the_title('<h2>', '</h2>', true); 
    the_content(); 
endwhile; // end of the loop. 

wp_reset_query(); 
?> 
+0

謝謝Shital,這是一個很好的解決方案。 –

+0

歡迎!樂於幫助 :) –

0

感謝尼爾一個快速的答案

這裏是代碼的完整的工作塊。

在頁面上添加自定義字段「類別」,然後確保此自定義字段的值與帖子類別相匹配,該類別將在頁面上返回這些帖子。

<?php // Display blog posts with category filter from custom field 
    $temp = $wp_query; $wp_query= null; 
    $custom_field = get_post_meta(get_the_ID(), 'category', true); 
    $wp_query = new WP_Query(); $wp_query->query('category_name='.$custom_field.'&posts_per_page=2' . '&paged='.$paged); 

    $wp_query = new WP_Query(); $wp_query->query('category_name=specials&posts_per_page=2' . '&paged='.$paged); 
    while ($wp_query->have_posts()) : $wp_query->the_post(); ?> 

    <h2><a href="<?php the_permalink(); ?>" title="Read more"><?php the_title(); ?></a></h2> 
    <?php the_excerpt(); ?> 

    <?php endwhile; ?> 

    <?php if ($paged > 1) { ?> 

    <nav id="nav-posts"> 
     <div class="prev"><?php next_posts_link('&laquo; Previous Posts'); ?></div> 
     <div class="next"><?php previous_posts_link('Newer Posts &raquo;'); ?></div> 
    </nav> 

    <?php } else { ?> 

    <nav id="nav-posts"> 
     <div class="prev"><?php next_posts_link('&laquo; Previous Posts'); ?></div> 
    </nav> 

    <?php } ?> 

    <?php wp_reset_postdata(); ?> 
相關問題