パラメータで表示内容を変える

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

カスタム投稿「製品」にカスタム分類「製品カテゴリー」があり、通常の一覧の他に、特定のカスタムフィールドに値の入っている製品のみのリストが欲しいということで、パラメータで分岐してみた。

add_action( 'pre_get_posts', 'list1' );
function list1( $query ) { 
    if ( !is_admin() && $query->is_main_query()  && is_post_type_archive('xxxxx') && isset($_GET['type']) && $_GET['type'] == 'list1') {
	$query->set( 'meta_key', 'list1' );
	$query->set( 'meta_value', 1 );
    }
    if ( !is_admin() && $query->is_main_query()  && is_tax( 'xxxxx_category', '' ) && isset($_GET['type']) && $_GET['type'] == 'list1') {
	$query->set( 'meta_key', 'list1' );
	$query->set( 'meta_value', 1 );
    }
}