私はWordpressのカスタムテンプレートに取り組んでおり、クラスごとに投稿をフィルタリングしています. <?php post_class(); ?>
ページに入れるとWordpressは不要なクラスを大量に表示するので
(これが私に与えるものですclass="post-54 post type-post status-publish format-standard hentry category-3d category-web"
)、投稿に関連するカテゴリのみをエコーすることでそれを簡素化しようとしています.
編集:
これは私のページで投稿を呼び出すものです<?php query_posts( 'showposts=99' ); ?>
次に、このコード
<li class="<?php if ( in_category('category-3d')) { echo "3d"; }
if ( in_category('category-animation')) { echo "animation"; }
if ( in_category('category-motion')) { echo "motion"; }
if ( in_category('category-shortfilm')) { echo "shortfilm"; }?>"></li>
<li class="motion"></li>
私の投稿が「モーション」カテゴリにある場合は、これをください。
問題は、投稿が複数のカテゴリにある場合、最初のカテゴリのみがエコーされることです...投稿が影響を受けるカテゴリのすべての名前をエコーするように WP に指示し、それらの間にスペースを追加するにはどうすればよいですか?
私は PHP 構文の初心者なので、このような単純なものをクリーンで効果的な方法で動作させる方法をまだ学んでいます (つまり、16 行のコードを書かずに!) ... 誰かがこれについて私を助けてくれますか?
2番目の編集:
わかりました、まだ理由を理解しようとしていますが、今日、私のコード(上記)は機能しており、リストされたすべてのクラスをエコーしますが、それらの間にスペースはありません...だから私のクラスを機能させるために、私は' m このようにエコー部分の最後にスペースを追加します{ echo "3d "; }
。しかし、物事を機能させるには汚い方法だと思います...
各クラスタグの間に適切な方法でスペースを追加するにはどうすればよいですか? 私はこのようなものを目指していますforeach $categories as $cat { echo $cat . " "; }
が、$categories と $cat はそれぞれの "if" ステートメントを参照します。