• 解決済 eijiy

    (@eijiy)


    WordPress3.0日本語版で、1ページの表示件数を10に設定したうえで、例えば開いた記事のページがWordPressというカテゴリーの場合、その投稿一覧をサイドバーに全部表示させたいと思い、以下のコードをjQテーマのsidebar.phpに書き足していますが、12件ある投稿が10件しか表示されません。

    <div class="cate_li">
    <h4>このカテゴリーの投稿一覧</h4>
    <?php
    $cat = get_the_category(); $cat = $cat[0];
    $cat = $cat->cat_ID;
    $posts = get_posts("order=desc&category=$cat&numberposts=");
    ?>
    <?php foreach($posts as $post): ?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </div>

    これを全部表示させるにはどうしたらいいでしょうか。

    以下がsidebar.phpの全コードです。

    <?php
    /* This code retrieves all our admin options. */
    global $options;
    foreach ($options as $value) {
    	if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); }
    }
    ?>
    
    <div id="right">
    <p id="toggle-all"><a href="#" id="toggle" class="hide-all">Toggle</a></p><br /><br />
    <div class="cate_li">
    <h4>このカテゴリーの投稿一覧</h4>
    <?php
    $cat = get_the_category(); $cat = $cat[0];
    $cat = $cat->cat_ID;
    $posts = get_posts("order=desc&category=$cat&numberposts=");
    ?>
    <?php foreach($posts as $post): ?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </div>
    <div class="clearfix"></div>
    <!-- widget -->
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_right') ) : ?>
    <div class="widget">
    <h4><a href="#" title="Toggle" class="hide_widget">Categories</a></h4>
    <ul>
    <?php wp_list_categories('title_li=0&categorize=0'); ?>
    </ul>
    </div>
    <div class="widget">
    <h4><a href="#" title="Toggle" class="hide_widget">Blogroll</a></h4>
    <ul>
    <?php wp_list_bookmarks('title_li=0&categorize=0'); ?>
    </ul>
    </div>
    <div class="widget">
    <h4><a href="#" title="Toggle" class="hide_widget">Meta</a></h4>
    <ul>
    <?php wp_register(); ?>
    <li><?php wp_loginout(); ?></li>
    <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
    <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
    <?php wp_meta(); ?>
    </ul>
    </div>
    <?php endif; // endif widget ?>
    <div class="flickr"><!-- 追加 flickr feeder -->
    <p>Flickr tag:sky</p>
    <?php echo gluedideas_FlickrFeeder::displayFeed(); ?>
    </div>
    </div>

3件の返信を表示中 - 16 - 18件目 (全18件中)
  • トピック投稿者 eijiy

    (@eijiy)

    umbrella_process様。
    下記コードで思い通りに1ページの記事が5件表示され、サイドバーの投稿一覧も全件表示されて、ページ送りも出来るようになりました。

    <?php if (is_category()) : ?>
    	<div class="cate_li">
    		<h4>このカテゴリーの投稿一覧</h4>
    		<?php
                $myargs = 'numberposts=-1&orderby=ID&order=desc&category='.$cat;
                global $post;
                $myposts = get_posts($myargs);
                foreach($myposts as $post) :
                    echo '<li><a href="';
                    echo the_permalink();
                    echo '">';
                    echo the_title();
                    echo '</a></li>';
                endforeach;
            ?>
    	</div>
    <?php endif; ?>

    このコードはtenkaoのはてなダ…メモで紹介されていました。

    どこがどう違うのかよくわかりません。

    後、カテゴリーの記事のタイトルをクリックして、1件だけ開いた場合にも同じカテゴリーの投稿一覧をサイドバーに表示させたいのですが、条件分岐をどうしたらいいのでしょうか。

    宜しければご教授下さい。

    宜しくお願い致します。

    トピック投稿者 eijiy

    (@eijiy)

    umbrella_process様のご指摘、「変数がWordPressのグローバル変数とバッティングしてるのかも」を受けて、$postsを$category_postsに変更して、下記コードでも思い通りに、1ページの記事が5件表示され、サイドバーの投稿一覧も全件表示されて、ページ送りも出来るようになりました。

    <?php if (is_category()) : ?>
    	<div class="cate_li">
    		<h4>このカテゴリーの投稿一覧</h4>
    		<?php
    			$cat = get_the_category(); $cat = $cat[0];
    			$cat = $cat->cat_ID;
    			$category_posts = get_posts("order=desc&category=$cat&numberposts=-1");
    		?>
    		<?php foreach($category_posts as $post): ?>
    			<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    		<?php endforeach; ?>
    	</div>
    <?php endif; ?>

    トピック投稿者 eijiy

    (@eijiy)

    皆さんのお陰で希望に近い結果を得られましたので、これで解決とさせて頂きます。

    有難うございました。

3件の返信を表示中 - 16 - 18件目 (全18件中)
  • トピック「カテゴリーのページで投稿一覧をサイドバーに全部表示させたい。」には新たに返信することはできません。