web-dev-qa-db-ja.com

すべてのビデオ投稿フォーマットをページに表示する

私はすべてのposts_formatのビデオアーカイブページをvideoで作成しています。

現在、私は持っています:

<?php $format = has_post_format('video', $post_id); ?>      

<?php

if($layout != "fullwidth") {
    echo '<div class="page_inner">';
}

if (have_posts()) : while (have_posts()) : the_post();

    vntd_blog_post_content();

endwhile;

これは機能していませんが、私は私が遠く離れているとは思わない。

何がおかしいのですか?

2
Travis Patron

専用のページが必要なのか、それとも本物のアーカイブページが必要なのかわかりませんが、2つの選択肢があります。

ビデオ投稿フォーマットを表示するための専用ページが必要な場合は、tax_querypost_format分類法の1つの用語であり、post-format-videoは分類法のもう1つのビルドであるため、post_formatを含むカスタムクエリを使用できます。ページテンプレートに対するクエリは、次のようになります。

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'post_format',
            'field' => 'slug',
            'terms' => 'post-format-video'
        )
    )
);
$q = new WP_Query( $args );

if ( $q->have_posts() ) {
    while ( $q->have_posts() ) {
        $q->the_post() );

        // Your loop

    }
    wp_reset_postdata();
}

動画投稿フォーマット専用の特定のアーカイブページを作成する必要がある場合は、単にindex.phpテンプレートをコピーしてtaxonomy-post_format-post-format-video.phpに名前を変更することで、このための特別な分類テンプレートを作成できます。この分類ページのexample.com/type/videoにアクセスするかpost-format-videoリンクをクリックするたびに、このテンプレートは動画投稿形式の投稿を表示するためにのみ使用されます。

参照: テンプレート階層

編集

あなたのコメント

news.diginomics.com/type/videoこのURL階層を利用するために私のphpファイルに何と名付けますか?

post_formatは4つの分類法のうちの1つなので、私が述べたように、分類法テンプレートが必要です。動画投稿フォーマット固有のテンプレートの場合は、index.phpをコピーして名前を変更します。

taxonomy-post_format-post-format-video.php

このテンプレートはnews.diginomics.com/type/videoにアクセスするたびに使用されます

興味のために、 この答えを見てください 私は分類学についてしました

1
Pieter Goosen