Wordpressが投稿フォーマットのアーカイブページを表示するために使用するテンプレートを知りたいですか。指定されたテンプレートファイルがない場合に使用される親テンプレートファイルと、すべての投稿フォーマットテンプレートをカバーする指定されたテンプレートファイルとは何ですか。ロードされたページがポストフォーマットアーカイブページであるかどうかを知る方法もありますか?
投稿フォーマット は「メタ」コンテンツに従って投稿をカスタマイズするために使用されますが、それらは常に投稿であり、投稿としてアーカイブページとカテゴリページに表示されます。 。
指定されたテンプレートファイルがない場合に使用される親テンプレートファイルと、すべての投稿フォーマットテンプレートをカバーする指定されたテンプレートファイルとは何ですか。
WordPress Codex - テンプレート階層 セクションをご覧ください。
Wordpressが投稿フォーマットのアーカイブページを表示するために使用するテンプレートを知りたいですか。
アーカイブ(年、月、日による投稿)ページは、通常archive.php
テンプレートの上に表示されます。カテゴリアーカイブページはcategory.php
テンプレートの上にあります。
ロードされたページがポストフォーマットアーカイブページであるかどうかを知る方法もありますか?
はいあります。 is_archive();
コンディショナルタグ を使うことができます。
UPDATE
一つの投稿フォーマットからすべての投稿を表示する方法はありますか?例えば、archive.phpテンプレートを使用して、 'image'または 'quote'の投稿タイプですべての投稿を表示しますか?
はいあります。あなたは pre_get_posts
アクションフックであなたのarchive.phpの中に特定のフォーマットの投稿を表示することができます。 WP_Query
の引数を見れば、tax_query
が見つかります。これは分類パラメーターの配列です。
使用例:
//in functions.php
add_action( 'pre_get_posts', 'wpse_show_posts_by_format' );
function wpse_show_posts_by_format($query){
//We are not in admin panel and this is the main query
if( !$query->is_admin && $query->is_main_query() ){
//We are in an archive page
if( $query->is_archive() ){
$taxquery = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-quote', 'post-format-image' )
)
);
//Now adding | updating only to main query 'tax_query' var
$query->set( 'tax_query', $taxquery );
}
}
}
それが役に立てば幸い!
投稿形式は分類法です。
投稿タイプでもメタでもありません。
カテゴリ、タグ、カスタム分類法、および投稿形式との違いは、投稿形式の用語を(現時点では) 9用語 のセットにできることです。
投稿フォーマット 'Standard'は存在しないことに注意してください。投稿を標準投稿フォーマットに設定することは、投稿フォーマットを設定しないことを意味します。
そのため、任意の投稿形式は存在できませんが、存在するものは分類用語です。
この分類法のスラッグはpost-format-{$format}
のようなものです。 post-format-quote
。
指定されたテンプレートファイルがない場合に使用される親テンプレートファイルと、すべての投稿フォーマットテンプレートをカバーする指定されたテンプレートファイルとは何ですか。
それらが分類学用語になったら、分類学に関して Template Hierarchy を見なければなりません:
そのため、taxonomy-post_format-{$slug}.php
(例:taxonomy-post_format-post-format-quote.php
)は、wpが探す最初のテンプレートです。
その後、taxonomy-post_format.php
、taxonomy.php
およびarchive.php
よりもindex.php
(これは12のテーマに含まれます)。
ロードされたページがポストフォーマットアーカイブページであるかどうかを知る方法もありますか?
これも分類法です。したがって、is_tax()
またはis_tax('post_format')
とis_tax('post_format', 'post-format-quote')
はすべてうまくいきます。
私は今あなたが投稿形式のアーカイブを要求するURLは何ですかを尋ねているのでしょうか?
かなりパーマリンクが有効になっていないときは、リンクはhttp://example.com/?post_format=quote
のようなものになります(http://example.com/?post_format=post-format-quote
も機能します)。
かなりパーマリンクが有効になっている場合、デフォルトでは、http://example.com/type/quote
のようになります。 (http://example.com/type/post-format-quote/
も動作します)
Url http://example.com/type/
(型が指定されていない)は404エラーになることに注意してください。
投稿フォーマットの書き換えベースの 'タイプ'はpost_format_rewrite_base
フィルタで変更できるので、 'デフォルトで'と言いました。
ただし、投稿形式アーカイブへの正しいリンクを取得するには、 get_post_format_link 関数を使用することができます。