0

この質問が何百万回も聞かれていることはわかっていますが、探している答えが見つからないようです。

明確な答えが見つからない最初の質問は、category.php を使用してカスタム投稿タイプを表示できるかということです。

もしそうなら、どのように?

私は single-custom-post-type.php を持っています - archcive-custom-post-type.php と同じように完璧に動作しますが、経験豊富な WordPress 開発者なら、'custom-post-type' をクリックするとわかると思います。カテゴリには、カスタム投稿タイプではなく、「通常の」投稿タイプがリストされます。

たとえば、「ポートフォリオ投稿」というカスタム投稿タイプがあります。現在、「本の表紙」と「演劇」という 2 つのカテゴリがあります。category-custom-post-type.php ページを作成できることはわかっていますが、クライアントが新しいポートフォリオ カテゴリを作成することを決定するたびに、新しいページに移動して作成する必要がないようにしています。

そのため、category.php を変更してカスタム投稿タイプを処理できれば理想的です。私はWP開発に少し慣れていませんが、これは将来のプロジェクトの優れたツールになるため、本当にこれを理解する必要があります.

とにかく、どんな助けでも大歓迎です!また、別のメモとして、管理者のカスタム投稿タイプに関連付けられたカテゴリのみを表示する方法はありますか? 現在、「ポートフォリオ投稿」の下で「カテゴリ」を選択すると、標準のブログ投稿カテゴリも表示されます。

どうもありがとう!

4

4 に答える 4

2

これはより良い方法です:

global $wp_query;
$query = new WP_Query(array_merge(
$wp_query->query, 
array(
    'post_type' => 'any'
    )
));

while($query->have_posts()) : $query->the_post(); 

endwhile; wp_reset_query();
于 2013-12-15T11:11:41.640 に答える
1

私はこれをテストしませんでしたが、次のような条件ステートメントを次のように記述できますcategory.php

if ('portfolio-post' == get_post_type()) {
  // code for the custom post
}

これがうまくいくかどうか教えてください...私は興味があります:)

于 2013-10-01T16:06:48.347 に答える
0

より効率的な方法があるかどうかを知って喜んで解決策を見つけました。

<?php global $wp_query; $args = array_merge( $wp_query->query, array( 'post_type' => 'any' ) ); query_posts( $args ); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>

于 2013-10-01T15:51:49.463 に答える