KtaiStyleで「次へ」がうまく作動しない、条件分岐が原因か?
-
出力条件が複数あったからでしょうか?
このぺーじでは、
1つ目に ☆トピックス☆ query_posts('cat=20') 2つ目に ☆最新記事☆ query_posts('cat=3,4,5)
と二つの出力条件を書いておりました。
それで、2つ目の出力条件を消したら、
ks_posts_nav_link
がうまく作動しました。しかし、2つ目の
query_posts(‘cat=3,4,5)
も条件指定したいのですがどのようにしたらよろしいのでしょうか?もともと、query_postsは1ページ内に複数使ってはいけないものなのでしょうか?
query_posts は「ちょっと別のループ使いますね」なので
wp_reset_query で閉じて、何もなかったかのように元に戻してあげます。query_posts('cat=20') : wp_reset_query() query_posts('cat=3,4,5) : wp_reset_query()
ks_posts_nav_link
がうまく作動しました。の「うまく」が「cat=20の状態で ks_posts_nav_link」ということなら、
ks_posts_nav_link の前にquery_posts('cat=20')
とかすれば良い気がします(未検証)。ようは、ks_posts_nav_link を「うまく」動かしたい状態にしておけば OK です。
kzさん、ありがとうございます。
しかし、残念ながら、
query_posts('cat=20') : wp_reset_query() query_posts('cat=3,4,5) : wp_reset_query()
は、だめでした。
ks_posts_nav_link の前に query_posts('cat=20') とかすれば良い気がします(未検証)。
そのようにしているのですが、出力条件が2つはいっているとだめなようです。
そういう仕様なんですかね?query_posts がいくつあっても何も問題ないですよー
「うまく作動」「ダメ」では伝わり難いので
より具体的な説明があると回答し易いです。
「リンクが表示されない」とか「リンク先がこうなって欲しいけどこうなってる」とか。不具合が発生する最小限の完全なコードを提示するのが一番早いです。
kzさん、失礼しました。
以下のように、条件表示タグが2つあると、次へを押しても同じ記事のタイトルが表示されてしまいします。
<div align="center">◆◆トピックス◆◆</div> <?php query_posts('cat=20 & order=desc'); ?> <?php if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /><div style="<?php echo $ks_settings['title_style']; ?>"><?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?></div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font></dt> <?php endfor; ?> <?php wp_reset_query(); ?> </dl> <hr color="<?php echo $ks_settings['hr_color']; ?>" /> <!--記事--> <div align="center">◆◆最新記事◆◆</div> <?php query_posts('cat=3,4,16,17,18 & order=desc'); ?> <?php if (have_posts()) : if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /><div style="<?php echo $ks_settings['title_style']; ?>"><?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?></div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>">著者:<?php the_author(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font></dt> <?php endfor; ?> <?php wp_reset_query(); ?> </dl>
ちょっと、長くなって申し訳ないのですが、
これをたとえば、二つ目の条件<?php query_posts('cat=3,4,16,17,18 & order=desc'); ?>
を削除すると、「次へ」で正常にいきます。
ks_posts_nav_link
ks_posts_nav_dropdown
の記述が無いのでコードが途中で切れてる様子ですが、とりあえず<?php query_posts('cat=3,4,16,17,18 & order=desc'); ?> <?php if (have_posts()) :
の endif が見当たらないところとか。
すみません、もう一度書きます。
<!--トピックス--> <div align="center">◆◆トピックス◆◆</div> <?php query_posts('cat=20 & order=desc'); ?> <?php if (have_posts()) : if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /><div style="<?php echo $ks_settings['title_style']; ?>"><?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?></div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font></dt> <?php endfor; endif; ?> <?php wp_reset_query(); ?> </dl> <hr color="<?php echo $ks_settings['hr_color']; ?>" /> <!--記事--> <div align="center">◆◆最新記事◆◆</div> <?php query_posts('cat=3,4,16,17,18 & order=desc'); ?> <?php if (have_posts()) : if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /><div style="<?php echo $ks_settings['title_style']; ?>"><?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?></div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>">著者:<?php the_author(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font></dt> <?php endfor; ?> </dl> <!--次へ--> <div align="center"> <?php ks_posts_nav_link(); ks_posts_nav_dropdown(array('before' => '<br />', 'min_pages' => 3)); ?> </div> <?php else: ?> <h2><?php _e('Not Found', 'ktai_style'); ?></h2> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php wp_reset_query(); ?>
これでも、「次へ」で行かず同じタイトルでした。
各種ブロックは正しく入れ子になるように気をつけると良いです。
<!--トピックス--> <div align="center">◆◆トピックス◆◆</div> <?php $paged = get_query_var('paged') ? get_query_var('paged') : 1; query_posts('cat=5 & order=desc & paged=' . $paged); if (have_posts()) : if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /> <div style="<?php echo $ks_settings['title_style']; ?>"> <?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?> </div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font> </dt> <?php endfor; ?> <div align="center"> <?php ks_posts_nav_link(); ks_posts_nav_dropdown(array('before' => '<br />', 'min_pages' => 3)); ?> </div> </dl> <?php else: ?> <h2><?php _e('Not Found', 'ktai_style'); ?></h2> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php wp_reset_query(); ?> <hr color="<?php echo $ks_settings['hr_color']; ?>" /> <!--記事--> <div align="center">◆◆最新記事◆◆</div> <?php query_posts('cat=1,3,4 & order=desc & paged=' . $paged); if (have_posts()) : if (ks_is_front()) { ?><h2><?php _e('', 'ktai_style'); ?></h2><?php } else { ks_pagenum('<div style="' . $ks_settings['pagenum_style'] . '"><h2>', '</h2></div>'); } ?> <dl> <?php for ($count = 1; have_posts() ; $count++) : the_post(); ?> <dt><br /> <div style="<?php echo $ks_settings['title_style']; ?>"> <?php ks_ordered_link(array( 'count' => $count, 'max' => $max, 'link' => get_permalink(), 'label' => '<span style="' . $ks_settings['title_style'] . '">' . get_the_title() . '</span>', 'hide_over_max' => true, )); ?> </div> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_category(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>"><?php ks_time(); ?></font> <font size="-1"><?php ks_comments_link();?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('|-', 'ktai_style'); ?></font> <font size="-1" color="<?php echo $ks_settings['time_color']; ?>">著者:<?php the_author(); ?></font><br /> <font size="-1" color="<?php echo $ks_settings['list_color']; ?>"><?php _e('+-', 'ktai_style'); ?></font> <font color="#666666" size="-1"><?php echo ks_excerpt(40, false); ?></font> </dt> <?php endfor; ?> <div align="center"> <?php ks_posts_nav_link(); ks_posts_nav_dropdown(array('before' => '<br />', 'min_pages' => 3)); ?> </div> </dl> <?php else: ?> <h2><?php _e('Not Found', 'ktai_style'); ?></h2> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php wp_reset_query(); ?>
- トピック「KtaiStyleで「次へ」がうまく作動しない、条件分岐が原因か?」には新たに返信することはできません。