web-dev-qa-db-ja.com

カスタム分類法のアーカイブページを作成する

カスタム投稿のために自分のサイトをカテゴリから分類法に切り替えましたが、同じように機能させることができません。カテゴリのために私はcategory-travel.phpのような何かという名前のテンプレートを持っていてそれからそのファイルの中で私のループを持つことができました。今、私はこのようなものでカテゴリリストを置き換えようとしています:

<?php  
$taxonomy = 'Gallery';
$orderby = 'name';
$show_count = 0;
$pad_counts = 0;
$hierarchical = 1;
$title = '';

$args = array (
    'taxonomy' => $taxonomy,
    'orderby' => $orderby,
    'show_count' => $show_count,
    'pad_counts' => $pad_counts,
    'hierarchical' => $hierarchical,
    'title_li' => $title
    );

wp_list_categories($args) ?>

関数内

register_taxonomy( 'Gallery', array( 'photo' ), array( 'hierarchical' => true, 'label' => 'Galleries', 'singular_label' => 'Gallery', 'rewrite' => true ) );

生成されたリストからリンクすると、mysite.com/gallery/nameのようなものが作成されたarchive.phpファイルではなくtaxonomy-gallery.phpを呼び出すようになりました。何がおかしいのですか?

これが 重複 である場合は申し訳ありませんが、私はその質問は別のものに対するものであると考えています。

3
zac

あなたの問題はあなたの分類法の名前が大文字を持っているように見えます、register_taxonomy関数のためのドキュメンテーションが here を述べているようにregister_taxonomyの最初の引数はすべて小文字、スペースなしです。

コードを次のように変更すると、taxonomy-gallery.phpテンプレートが正しく機能します。

register_taxonomy( 'gallery', array( 'photo' ), array( 'hierarchical' => true, 'label' => 'Galleries', 'singular_label' => 'Gallery', 'rewrite' => true ) );

あなたが投稿したコードの最初の部分では、ギャラリー分類法への参照も小文字に変更したいでしょう。ラベルはどのような場合でも問題ありませんが、実際の分類名ではありません。

4