サポート » 使い方全般 » 同じカテゴリを違うデザインで使用したい

  • wordpressのカテゴリについてご質問です。

    ○カテゴリ
    関東
    -池袋
    -新宿
     
    関西
    -大阪
    -神戸

    ○各ページに登録しているカスタムフィールド
    商品画像
    電話番号
    住所

    上記の情報で

    /archives/category/関東/

    にアクセスするとお店の「電話番号」と「住所」のみを取得し、

    /archives/categoryshop/関東/ ←スラッグは例です。

    にアクセスするとお店の「商品画像」のみを取得すると言う目的です。
    ネット上で調べてみたのですが、このやり方や参考になる内容を掲載している情報が見当たらず、こちらのフォーラムでお聞きしました。

    アドバイスを頂けると幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • Takahashi Fumiki

    (@takahashi_fumiki)

    プラグインでそういうのがあるかはしりませんが、こんな感じです。

    // ( ・∀・)つ~ クエ !!リバーを追加
    add_filter('query_vars', function($vars){
        $vars[] = 'template';
        return $vars;
    });
    
    // リライトルールを追加
    add_fitler('rewrite_rules_array', function($rules){
    	return array_merge([
    		'archives/categoryshop/([^/]+)/page/([0-9]+)/?$' => 'index.php?category=$matches[1]&template=shop&paged=$matches[2]',
    		'archives/categoryshop/([^/]+)/?$' => 'index.php?category=$matches[1]&template=shop',
    	], $rules);
    });
    
    // クエリバーによってテンプレートを変更
    add_action('pre_get_posts', function($wp_query){
    	if( !is_admin() && $wp_query->is_main_query() && 'shop' === $wp_query->get('template') ){
    		// クエリが該当する場合だけテンプレートを変更
    		add_filter('template_include', function($template){
    			// 読み込みたいテンプレート
    			return get_stylesheet_directory().'/shop-category.php';
    		});
    	}
    }, 10, 2);
    

    参考URL: https://wpdocs.osdn.jp/カスタムクエリ

    トピック投稿者 salon358

    (@salon358)

    Takahashi Fumikiさん

    ありがとうございます。
    カスタムクエリと言う存在を初めて知りました!

    先程、こちらのコードをfunctionsに追加させて頂いたのですが、どうもエラーが出てしまいました。

    実は当方PHPはコピペでしか出来ないデザイナーなので、何故エラーが起きているのか検討もつきません。
    現在エラーが起きている箇所は

    add_filter('query_vars', function($vars){

    この箇所をはじめ、合計8箇所になります。

    お時間のある時でかまいませんので、ご教授いただければ幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「同じカテゴリを違うデザインで使用したい」には新たに返信することはできません。