web-dev-qa-db-ja.com

カスタム投稿タイプのインデックスページに、投稿の代わりに分類項目を表示させる

私はlessonsと呼ばれるカスタム分類法(カテゴリ)を持つcoursesと呼ばれるCPTを登録しています。 /coursesページ(archive -ourses.php?)に、個々の投稿(レッスン)ではなく、個々のコース(つまり「オンラインマーケティング」、「有料広告」)を表示したいです。

これは、単にループをカスタマイズするのか、それとも完全なカスタムWP_Queryをカスタマイズするのでしょうか。

1
Zach Russell

個々のコース、つまり分類用語をリストしたい場合は、 WP_Query もWP標準も使用しないでください。 ループ

代わりに、コースを取得するために get_terms 関数を使用してください。 (分類法が存在し、関数の引数と一致する項がある場合)termオブジェクトの配列を返します。それを繰り返して、レッスンへのリンクのリストを表示するなど、それを使って何かをします。

$courses = get_terms( 'courses' );

if ( $courses ) {
    echo '<ul class="course-list">';

    foreach ( $courses as $course ) {

        echo '<li>' .
            '<a href="/courses/' . $course->slug . '" ' .
                'title="' . sprintf( 'View lessons of %s', $course->name ) . '">' .
                    $course->name .
            '</a>' .
        '</li>';

    }

    echo '</ul>';
}
3
Johannes Pille

分類法ではなくCustom Post (archive-courses.php)と呼んでいるように見えます。試してみてくださいtaxonomy-courses.phpも見てください Custom_Taxonomies_display

0
Muhammad Furqan