”query_posts()”をやめたら、ROSEのブログの表示の不具合も解消された!

roseのブログ

ずっと気にはなっていたけど原因が特定できずにいたROSEのブログの表示の不具合が、まったく思いもよらないナナメの方角から解決(たぶん)した。

その食卓の(お金をかけないのに)豪華さや、あっちの椎茸山、こっちのタケノコ山、向こうの畑・・・と、忙しくとも楽しそうに始終飛び回る日々を綴るROSEのブログはねこもりやの周りでファンが多い。

ROSEのブログの表示の不具合というのは、アクセスした時、表示されるはずの投稿一覧が表示されないし、左上の三本線をクリック(タップ)すると表示されるはずのサイドバーも表示されないというもの。

再読み込みすれば、表示されるけど、せっかく来ていただいた方に毎回「再読み込みしてください」とお願いすることもできるわけもなく・・・

そんな折、先日、Xakuro Systemの石鷹さんにご教示いただいて、非推奨の”query_posts()”を使って表示していた10年日記を訂正したのだけど、お友達のブログにも同じように実装していたので、時間を見つけて一気に訂正。

ROSEのブログは10年日記(”あの頃は・・・”)以外にも、最新記事や投稿をランダムに表示している”こちらもどうぞ”も”query_posts()”を使っていたので、これも書き換えた。

この時は、Xakuro Systemの石鷹さんにご指摘いただいた非推奨の”query_posts() ”を使うのをやめようという、ただそのためだけに作業したのだけど、やってみたら・・・ROSEのブログの表示の不具合も解消されていた!!

なんだか、キツネにつままれたような思いだけども、なにはともあれ今のところ調子は良さそう。

もしかしたら、テーマに問題が?とか、プラグインの影響?など、いろんな可能性を考えてはみたけど解決できずにいたので、ほんとに驚いている。

このタイミングでXakuro Systemの石鷹さんに”query_posts() ”をご指摘いただいたのもすごいことだなと感謝です!

置き換えたコード

最新の投稿をアイキャッチ付きで表示(個別ページではそのカテゴリでの最新投稿)

<?php if( is_single()): //単一記事のみに適用する ?>
<h3 class="widget-title">このカテゴリの最新記事</h3>
<?php
$cat_id = ( $cats = get_the_category() ) ? $cats[0]->cat_ID : 0;
$args = array('cat'  => $cat_id ,'posts_per_page' => 3);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : ?>
<ul class="wpp-list">
    <?php while ( $the_query->have_posts() ) :
        $the_query->the_post(); ?>
<li>
<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php if (has_post_thumbnail()) : ?>
<?php the_post_thumbnail('side_thumbnail', array('class' => 'wpp-thumbnail')); ?></a>
<?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png" class="wpp-thumbnail"></a>
<?php endif; ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a><br /><?php the_time("Y年n月j日(D)"); ?>
</li>
    <?php endwhile; 
    wp_reset_postdata(); ?>
</ul>
<?php else: ?>
    <p>残念ながら投稿が見つかりません。</p>
<?php endif;?>
<?php endif;?>
<?php if( !is_single()): //単一記事とトップ以外に適用する ?>
<h3 class="widget-title">最新記事</h3>
<?php
$args = array('posts_per_page' => 5);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : ?>
<ul class="wpp-list">
    <?php while ( $the_query->have_posts() ) :
        $the_query->the_post(); ?>
<li>
<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php if (has_post_thumbnail()) : ?>
<?php the_post_thumbnail('side_thumbnail', array('class' => 'wpp-thumbnail')); ?></a>
<?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png" class="wpp-thumbnail"></a>
<?php endif; ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a><br /><?php the_time("Y年n月j日(D)"); ?> カテゴリー:<?php the_category( ' / ' ); ?>
</li>
    <?php endwhile; 
    wp_reset_postdata(); ?>
</ul>
<?php else: ?>
    <p>残念ながら投稿が見つかりません。</p>
<?php endif;?>
<?php endif;?>

投稿をランダムに表示

$args = array( 'posts_per_page' => 3, 'orderby' => 'rand' );
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : ?>
<ul class="wpp-list">
    <?php while ( $the_query->have_posts() ) :
        $the_query->the_post(); ?>
<li>
<a  href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php if (has_post_thumbnail()) : ?><?php the_post_thumbnail('side_thumbnail', array('class' => 'wpp-thumbnail')); ?></a>
<?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png" class="wpp-thumbnail"></a>
<?php endif; ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br /><?php the_time("Y年n月j日(D)"); ?> カテゴリー:<?php the_category( ' / ' ); ?>
</li>
    <?php endwhile;
    wp_reset_postdata(); ?>
</ul>
<?php else: ?>
    <p>残念ながら投稿が見つかりません。</p>
<?php endif;

10年日記

list( $year, $month, $day ) = explode( ',', date_i18n( 'Y,n,j' ) );
$args = array( 'posts_per_page' => 3, 'orderby' => 'rand', 'order' => 'DESC', 'monthnum' => $month, 'day' => $day );
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : ?>
    <ul class="wpp-list">
    <?php while ( $the_query->have_posts() ) :
        $the_query->the_post(); ?>
        <li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php if (has_post_thumbnail()) : ?><?php the_post_thumbnail('side_thumbnail', array('class' => 'wpp-thumbnail')); ?></a>
<?php else : ?>
<img src="<?php bloginfo('home'); ?>/wp-content/images/default.png" class="wpp-thumbnail"></a>
<?php endif; ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br /><?php the_time("Y年n月j日(D)"); ?> カテゴリー:<?php the_category( ' / ' ); ?>
</li>
    <?php endwhile;
    wp_reset_postdata(); ?>
</ul>
<?php else: ?>
    <p>残念ながら投稿が見つかりません。</p>
<?php endif;

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA