0

現在のコードを変更しようとしていますが、意味がありません (言われたことを実行しません)。私がやりたいことは、ホームページにカテゴリ 13 の投稿のみを表示することだけで、投稿に複数のカテゴリを追加できるようにしたいと考えています。

  • 投稿 1 (カテゴリ 13 および 1) = ホームページに表示されます
  • 投稿 2 (カテゴリ 13 および 4 および 5) = ホームページに表示されます
  • 投稿 3 (カテゴリ 6 および 1) = ホームページに表示されない
  • 投稿 4 (カテゴリ 2) = ホームページに表示されない

これは、ホームページにカテゴリ 13 のみを表示する現在のコードです。別のカテゴリが投稿に追加された場合、まったく表示されません。

<?php get_header(); ?>

<div id="primary">
<div id="content" role="main">

<?php
    if (is_home()) {
        query_posts("cat=-6,-4,-1,-11");
    }
?>

<?php if ( have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <?php get_template_part( 'content', get_post_format() ); ?>
    <?php endwhile; ?>

<?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
    'cat' => 13,
    'posts_per_page' => 5,
    'paged' => $paged);
    query_posts($args);
?>

<?php twentyeleven_content_nav( 'nav-below' ); ?>

<?php else : ?>
    <article id="post-0" class="post no-results not-found">
    <header class="entry-header">
    <h1 class="entry-title"><?php _e( 'Geen berichten beschikbaar', 'twentyeleven' ); ?></h1>
    </header><!-- .entry-header -->

    <div class="entry-content">
    <p><?php _e( 'Helaas, er zijn nog geen gearchiveerde berichten in deze categorie. ', 'twentyeleven' ); ?></p>
    <?php get_search_form(); ?>
    </div><!-- .entry-content -->
    </article><!-- #post-0 -->
<?php endif; ?>
4

3 に答える 3

4

あなたはこのコードをあまりにも一生懸命探しています。何も除外する必要はありません。猫を含める必要があります13。これには、猫に含まれるすべてのものが含まれます13それが他のカテゴリーにもあるとしても。WP_Query()次のようにレギュラーを実行するだけです。

<?php get_header(); ?>

<div id="primary">
<div id="content" role="main">

<?php
    if (is_home()) {
        // The Query
        $the_query = new WP_Query("cat=13, paged=".get_query_var('paged'));
    }
?>

<?php if ( have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
    <?php /* Start the Loop */ ?>
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <?php get_template_part( 'content', get_post_format() ); ?>
    <?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>

<?php else : ?>
    <article id="post-0" class="post no-results not-found">
    <header class="entry-header">
    <h1 class="entry-title"><?php _e( 'Geen berichten beschikbaar', 'twentyeleven' ); ?></h1>
    </header><!-- .entry-header -->

    <div class="entry-content">
    <p><?php _e( 'Helaas, er zijn nog geen gearchiveerde berichten in deze categorie. ', 'twentyeleven' ); ?></p>
    <?php get_search_form(); ?>
    </div><!-- .entry-content -->
    </article><!-- #post-0 -->
<?php endif; ?>

(いくつかの文字を追加する必要がありました。そうしないと編集できませんでした。申し訳ありません:P)

于 2012-10-09T18:50:08.443 に答える
1

このコードを試してください

<?php
global $post;
if (is_home()) {
    $args = array( 'numberposts' => 5, 'category' => 13 );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) :  setup_postdata($post); ?>
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <div class="entry-content">
                <?php the_content( 'Continue reading <span class="meta-nav">&raquo;</span>); ?>
            </div>
    <?php endforeach;
}
?>

タイトルと内容が表示されます。日付、作成者、カテゴリ、タグなどの追加情報が必要な場合は、他のテンプレート タグを使用する必要がある場合があります。また、これらを異なるスタイルにしたい場合は、適切な CSS を使用する必要があります。

于 2012-10-09T13:56:12.473 に答える
1

これを試して...

<?php
  $temp = $wp_query; 
  $wp_query = null; 
  $wp_query = new WP_Query(); 
  $wp_query->query('showposts=6&cat=13'.'&paged='.$paged);
?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    Your stuff goes here...

<?php endwhile; ?>
<?php 
  $wp_query = null; 
  $wp_query = $temp;  // Reset
?>
于 2012-09-20T07:17:38.853 に答える