2017-07-31 10 views
1

私はページテンプレートに投稿を表示する次のクエリを持っています。スペシャル = カテゴリ名を持っている私は、ページ上のカスタムフィールドから取得通知ダイナミックフィールド/ことスペシャルが欲しい...そうページを持っているかもしれませんWordpressカスタムカテゴリフィールドは、一致する投稿カテゴリを返します

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

カスタムフィールド 'カテゴリ'と値は私が入力することができます例えば、スペシャルです。したがって、ページには、顧客のフィールド値に入力したカテゴリに一致するカテゴリのすべての投稿が表示されます...これは可能ですか?

+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); 多くのありがとうNeil、それは私が必要なものです。ここで私が使ったカスタムフィールドラインはうまくいきます! –

1

どのように?

は、ここでは簡単な答え

ニールへ

<?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

ありがとう、それは良い解決策です。 –

+0

ようこそ!お力になれて、嬉しいです :) –

0

おかげで、コードの完全な作業ブロックである引数にカテゴリIDと分類スラグを追加します。

ページで、カスタムフィールド 'category'を追加し、このカスタムフィールドの値がこれらの投稿をページに返す投稿カテゴリと一致することを確認します。

<?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(); ?> 
関連する問題