web-dev-qa-db-ja.com

Is_post_type_archive()がtrueを返すとき

アーカイブページへ

http://src.wordpress-develop.dev/2016/

または

http://src.wordpress-develop.dev/category/Markup/

どちらのページでもis_post_type_archive()falseを返します。

archive.phpテンプレートファイルにis_post_type_archive()を追加しました。

is_post_type_archive()をループに出し入れしてみました。wp_reset_query()の前にis_post_type_archive()を使用しましたが、すべてがfalseを返します。

is_post_type_archive()関数がtrueを返すようにするにはどうすればよいですか?

1
linjie

Is_post_type_archive()がtrueを返すとき

is_post_type_archive()custom post type archivesに対してはtrueを返し、デフォルト投稿に対してはfalseを返します。

デフォルトの投稿をチェックするには is_archive() を使用してください。

2
bravokeyl

http://src.wordpress-develop.dev/category/Markup/ または別のリンクが 投稿タイプのアーカイブページではない アーカイブページ である。 アーカイブページ 投稿タイプではありませんアーカイブページ アーカイブページ 上記のようなアクセスリンク、 投稿タイプのアーカイブページ アクセスリンク: http://src.wordpress-develop.dev/(post-type)

(post-type)を実際の投稿タイプに置き換えます。

has_archiveが設定されている場合は、 カスタム投稿タイプ の場合のみ、投稿タイプのビルドには 投稿タイプのアーカイブページはありません はありません。したがって、 カスタム投稿タイプ を次のように作成した場合に限ります。

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'acme_product',
    array(
      'labels' => array(
        'name' => __( 'Products' ),
        'singular_name' => __( 'Product' )
      ),
      'public' => true,
      'has_archive' => true,
    )
  );
}

それから カスタム投稿タイプのアーカイブページにアクセスすることができます リンクを介して website-url/acme-product 、テンプレートファイル archive- {post_type} .php または archive.php どちらかが使用されています。コンテキストでは、 archive- {post_type} .php または archive.php のいずれかで、is_post_type_archive()関数はtrueを返し、そうでなければ常にfalseを返します。

is_post_type_archive (string|array $post_types = '' )

既存の投稿タイプのアーカイブページに対するクエリですか?

1
linjie