ワードプレス:どのように特定のカテゴリにある投稿のみを表示するには?
-
19-09-2019 - |
質問
私はWordPressにかなり新しいですが、物事を試し、その上に勉強し、いくつかの50奇妙な時間を過ごし、などと私は今それでかなり良いハンドルを得た感覚を持っている..
しかし、私は単純に作業を得ることができない一つのことは、特定のカテゴリの投稿のリストを吐き出すページを持つことです。
ここに私の例である: http://dev.jannisgundermann.com/ zoeikin /グラフィックデザイン/活版印刷、ポスターする
私はそれに行けば直接正常に動作しますが、このページに表示されないというポストを持っています。
カテゴリ名が「活版印刷、ポスター」である一方、カテゴリIDが「3」である。
私はこのようになります活版印刷、ポスターのページ用のカスタムページテンプレートを持っています:
<?php
/*
Template Name: Typographic Posters
*/
?>
<?php get_header(); ?>
<?php get_sidebar(); ?>
<?php if (in_category('3')): ?>
<div class="post">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<div class="post-description">
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
</div>
<?=get_image('flutter-image');?>
</div>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</div>
<?php endif; ?>
<?php get_footer(); ?>
しかし、このコードページだけのショーを使用すると、ヘッダー、サイドバーや他には何を取得します..
誰かが本当に私はワードプレスのカテゴリーのこのフィルタリングのハンドルを得るのを助けるだろうと私を助けることができれば。
読書のためのおかげで、
Jannis
解決
in_category
は、単一のページでは、ループの外で動作します。私はこの問題を解決するためにquery_posts
機能を使用することをお勧め。あなたが探しているのポストを得るためにquery_posts('cat=3')
またはquery_posts('category_name=typographic-posters')
を使用することができます。
、ちょうどこれらの記事にアクセスするには、通常のWordPressのループを使用します。
他のヒント
最も簡単な方法は、category-3.php
というファイルを作成し、通常のindex.php
またはcategory.php
ファイルから標準コードを使用することです。 Wordpressのは、ID = 3でのみカテゴリからフェッチポストの世話をし、それが子カテゴリです。
in_categoryは、単一のページでは、ループの外で動作します。私 この問題を解決するためにquery_posts関数を使用してお勧めします。してもいいです query_posts( '猫= 3')を使用しますか、 query_posts(「カテゴリ名=活版-ポスターは」)の記事あなたを取得します 探しています。
得られたら、、ちょうどこれらにアクセスするには、通常のWordPressのループを使用 ポストます。
これは素晴らしい仕事をしていますが、[設定]> [読書に入り、にポストのページを設定していることを確認してください - 選択 - オプションまたはそれはこのクエリをオーバーライドして、関係なく、カテゴリのそこにすべての最近の投稿をダンプします。
。私は、以下の方法を使用して、カテゴリIDでポストをフィルタ処理している。
query_posts('cat=1&showposts=3');
if (have_posts()) : while (have_posts()) :
// if(1) {
//echo the_category_ID();
the_post();
/**
* The default post formatting from the post.php template file will be used.
* If you want to customize the post formatting for your homepage:
*
* - Create a new file: post-homepage.php
* - Copy/Paste the content of post.php to post-homepage.php
* - Edit and customize the post-homepage.php file for your needs.
*
* Learn more about the get_template_part() function: http://codex.wordpress.org/Function_Reference/get_template_part
*/
$is_post_wrap++;
if($is_post_wrap == '1') {
?><div class="post-wrap clearfix"><?php
}
get_template_part('post', 'homepage');
if($is_post_wrap == '3') {
$is_post_wrap = 0;
?></div><?php
}
endwhile;
else :
get_template_part('post', 'noresults');
endif;
単にループの前に追加します:
<?php query_posts="cat=3&showposts=5">
このカテゴリー3(CAT = 3)から5つのポスト(showposts = 5)を表示するループを強制します。
私は第二Eimantas'の提案だろう。 テンプレート階層には、そのカテゴリで記事を表示するには、カテゴリ-3.phpを使用します。通常、あなただけのカテゴリ-3.phpにテーマのindex.phpのかcategory.phpをコピーし、必要なすべてのカスタマイズのために、そのテンプレートを調整することができます。プラスカテゴリテンプレートは、より良いポストのページネーションをサポートします。
しかし、あなたは記事の例のページを参照しても、それらの記事を表示するページに固執する必要がある場合。に
http://codex.wordpress.org/Template_Tags/query_postsする
ただ、これらの答えはどこから来ているあなたが知っているので...あなたにもquery_postsで行うことができ、より多くの興味深い機能があります。
このプラグインはあなたを助けることができます: http://wordpress.org/extend/plugins/advanced-category-excluder/ >
あなたの思考その偉大な思想に共有していただきありがとうございます。通常、あなただけのカテゴリ-3.phpにテーマのindex.phpのかcategory.phpをコピーして、
必要なすべてのカスタマイズのために、そのテンプレートを調整することができます