次のURLはカテゴリテンプレートに解決されます。 http:// localhost/author/myusername /?category_name = somecategory
私はcategory-somecategory.php
テンプレートとただの一般的なauthor.php
テンプレートを持っています。そのようなURLにauthor.php
の代わりにcategory-somecategory.php
テンプレートを使用させる方法はありますか?そうでない場合、どうやってカテゴリと作者の両方をフィルタリングして作者テンプレートを使うよう強制することができますか?
template_include
にフックしてロードされたテンプレートを変更し、is_author
とis_category
の両方が設定されているかどうかを確認してから、テンプレートを作成者テンプレートに含めるように切り替えることができます。
これを撃つ..
add_filter( 'template_include', 'my_template_setter' );
function my_template_setter( $template ) {
if( is_author() && is_category() && is_archive() )
$template = get_author_template();
return $template;
}
どのテンプレートが読み込まれるかを変更する前に、ここでいくつでも条件付きチェックを行うことができます。
WordPressには既にいくつかのテンプレート取得機能があります。例ではこれを使用しましたが、ここにクイックリファレンスのリストを示します。
get_404_template()
get_search_template()
get_taxonomy_template()
get_front_page_template()
get_home_template()
get_attachment_template()
get_single_template()
get_page_template()
get_category_template()
get_tag_template()
get_author_template()
get_date_template()
get_archive_template()
それが役立つことを願っています..
このようなことは カスタムクエリ で実行できるようです。