みなさん、こんにちは。
私はあなたがこれを手伝ってくれることを願っています。私は(理想的には)カスタム投稿タイプのカテゴリ用の一般的なテンプレートが必要です。
カスタム投稿の種類:リスティング(type-listings)リスティングのカテゴリ(cat-listings):リース(リース)&セール(セール)
だから私は http://www.domain.com/listings/cat-listings/lease にアクセスしたときに私は404(これはこのページがあることを意味するのですか)を得る私はWordpressがデフォルトのものにフォールバックするようにしているのを知っているので前者を疑っています...このページで私はリースカテゴリ内のすべての投稿を表示し、セールス投稿のある同様のセールページに移動できるようにします。
今、私はそれぞれのためにページを作成し、それらにカスタムテンプレートページを持たせることができることを知っていますが、私のクライアントがページとページテンプレートを作成しなければならない場合があります。
もう1つの解決策は、私がリストページを作成してカテゴリ間のトグル/タブを作成するだけのトグル/タブシステムを使用することです。これに関する私の問題は、リストがいくつあるかわからないということです。したがって、ページネーションはうまくいくはずです。私はトグル/タブとページネーションを持つことができるとは思わない。
ご協力いただきありがとうございます!
私は以下を試してみましたが、運がありませんでした。 cat-listings.php type-listings.php archive-type-listings.php archive-type-listings-cat-listings.php category.php category-type-listings.php category-cat-listings.php category-type-listings -cat-listings.php分類法タイプの一覧表示.php分類法 - 猫 - 一覧表示.php分類法タイプの一覧表示 - 猫 - 一覧表示.php
私は私が必要とするもののように聞こえるこの記事を見つけた、しかしあなたが上のリストからわかることができるように私は運なしでそれを試みた。 分類法のすべての用語に対して同じテンプレート
カスタム投稿タイプを登録する方法は次のとおりです。
register_post_type('type-listings', array(
'labels' => array(
'name' => _x('Our Listings', 'Titles', theme_domain()),
'singular_name' => _x('Listing', 'Titles', theme_domain()),
'menu_name' => _x('Our Listings', 'Titles', theme_domain()),
),
'public' => false,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => _x('listings', 'URL Slug', theme_domain()), 'with_front' => false, 'page' => false),
'capability_type' => 'page',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 21,
'menu_icon' => 'dashicons-admin-home',
'supports' => array('title', 'custom-fields', 'revisions'),
));
$catProjectsArgs = array(
'label' => __('Availability', theme_domain()),
'sort' => true,
'show_ui' => true,
'show_admin_column' => true,
'hierarchical' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'args' => array('orderby' => 'term_order'),
);
register_taxonomy('cat-listings', array('type-listings'), $catProjectsArgs);
taxonomy
に使用している名前は許可されていません。 register_post_type()$taxonomy
パラメータは言う
$分類法
(ストリング)(必須)分類法の名前。名前には、小文字とアンダースコアのみを使用し、32文字を超えないようにする必要があります(データベース構造の制限)。
デフォルト:なし
そのため、cat-listings
という名前を別の名前に変更する必要があります(残りの回答ではcat_listings
と想定します)。
それでは、あなたの質問を一つずつ見てみましょう。
- だから私は http://www.domain.com/listings/cat_listings/lease にアクセスすると、404が表示されます(これはこのページがテンプレートを持っていないからです。
そのようなパーマリンク構造を持つことは可能です。分類法cat_listings
の下でleaseという名前の用語を作成すると、デフォルトのURL構造は次のようになります。
http://www.domain.com/cat_listings/lease
その前にlistings
という名前のセグメントを追加する場合は、次のようにrewrite
引数を渡す必要があります。
$catProjectsArgs = array(
'label' => __('Availability', theme_domain()),
'sort' => true,
'show_ui' => true,
'show_admin_column' => true,
'hierarchical' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'listings' )
);
ところで、args
という名前のパラメータはありません、私はそれを削除しました。
- 今、私はそれぞれのためにページを作成し、それらにカスタムテンプレートページを持たせることができることを知っていますが、私のクライアントがページとページテンプレートを作成しなければならない場合があります。
テンプレート階層イメージを見ると、どのテンプレートファイルを使用する必要があるのかがはっきりしているはずです。これはカスタム分類法のためのトリミングバージョンです。
cat_listings
の下のすべてのterms
に単一のテンプレートを適用したい場合は、テンプレートファイルtaxonomy-cat_listings.php
を作成するだけです。後で追加するterms
のいずれかに別のテンプレートファイルを作成する場合(lease
など)は、テンプレートファイルtaxonomy-cat_listings-lease.php
などを作成する必要があります。