サポート » テーマ » カスタムフィールドを用いた記事一覧ページの作成

  • 解決済 aki

    (@akistar02)


    カスタムフィールドの使い方について質問です。

    WPで、カテゴリ別の記事一覧はこのページみたいにすればいいのは分かるのですが、、、
    http://www.webopixel.net/wordpress/198.html

    では、「カテゴリA」に属した記事で、かつ「CF」というカスタムフィールドの値を持っている記事のみを一覧表示させたい、ということはできるのでしょうか?

    また、カテゴリー一覧へのリンクは「the category」で晴れると思うのですが、上記のような一覧ページへのリンクを張るタグはないでしょうか?

    ※子カテゴリで分類もできるのは分かるのですが、今回はそういう提案はなしでお願いします。

    よろしくお願いします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    pre_get_postsフィルターを使ってカテゴリーアーカイブの表示条件をカスタマイズすると言う方法があります

    // ※未検証
    function customize_category_archive( $query ) {
    	if ( is_admin() || ! $query->is_main_query() )
    		return;
    
    	if ( $query->is_category() ) {
    		$meta_query = array(
    			array(
    				'key' => 'field-key',
    				'value' => 'field-value',
    				'compare' => '=',
    			)
    		);
    		$query->set( 'meta_query', $meta_query );
    		return;
    	}
    }
    add_action( 'pre_get_posts', 'customize_category_archive' );

    関数リファレンス/WP_Query

    参考:
    http://notnil-creative.com/blog/archives/1996

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    Codexで日本語訳されてないですが、get_postとかWP_Queryとか(参考サイトではquery_postsを使ってますが)でmeta_queryというパラメータを使えばできます。

    引数の部分で

    'category_name' => 'categoryA', //特定のカテゴリースラッグを指定
     'meta_query' => array( array( //カスタムフィールド指定
                 'key' => 'name', //カスタムフィールドのキー名
                 'value' => 'CF' //そのフィールドに入れられている値名
            )),

    という感じで入れて使います。

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    あ、またかぶった。。。

    トピック投稿者 aki

    (@akistar02)

    お返事が遅れてしまいすいません。
    一覧ページの作成方法、ありがとうございます。

    しかし、たとえばタグクラウドみたいな感じで、

    ジャンル

    カスタムフィールドの値A カスタムフィールドの値B カスタムフィールドの値C

    みたいなリストがあり、それぞれをクリックすると「カスタムフィールドの値A」という値を持っている投稿一覧が表示される、という使い方はできないでしょうか?

    モデレーター gatespace

    (@gatespace)

    みたいなリストがあり、それぞれをクリックすると「カスタムフィールドの値A」という値を持っている投稿一覧が表示される、という使い方はできないでしょうか?

    カスタムフィールドがどういう値をもっているか分からないのですが、それだったらカスタムタクソノミーにしたほうが、楽だったかもね。

    モデレーター Takuro Hishikawa

    (@hissy)

    カスタムタクソノミーでやるべきですね。

    トピック投稿者 aki

    (@akistar02)

    返信が遅れてしまい申しわけありません。
    カスタムタクソノミーで解決できました!

    すいません。
    みなさんありがとうございました!

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カスタムフィールドを用いた記事一覧ページの作成」には新たに返信することはできません。