質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

4030閲覧

カテゴリーページとアーカイブページ(archive.php)にページャーをつけたい

dandelion2299

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2018/01/19 08:25

###前提・実現したいこと
WordPressでブログを作成しております。
右側には、「最近の記事」(single.php) 「カテゴリー」(archive.php) 「アーカイブ」(archive.php) 「タグ」(tag.php)とあり、「カテゴリー」と「アーカイブ」の箇所を作成しております。

実現したいことは、
・「カテゴリー」の「日記」などのカテゴリーを押すと、左側に一覧でページャー付きででてくるようにする
・「アーカイブ」の「2018年1月」などの項目を押すと、左側に一覧でページャー付きででてくるようにする

を実現させたいと思っております。

###発生している問題・エラーメッセージ
・「カテゴリ」の「イベント」のカテゴリの中には1つしか記事が入っていないのに、ページャーが4つ出る。
※他のカテゴリーの記事もページャーが認識をしている模様なので、他のカテゴリーに属するものについては
除外したい
・「カテゴリ」の「日記」などのカテゴリの中には記事が4つはいっており、ページングできるが、
同じ記事しかでない(1P目を押しても、2P目を押しても、同じ記事しかでません)ので、
それぞれの記事がでるようにしたい

という現象が起きております。

###該当のソースコード
archive.phpです。

<?php get_header(); ?> <div class="SubContents"> <h2 class="SubTtl"><img src="<?php bloginfo('template_url'); ?>/common/images/blog/ttl_blog.png" alt="マンギスブログ" /></h2> <div class="BlogArea clearfix"> <div class="BlogAreaL"> <?php $paged = get_query_var('paged') ? get_query_var('paged') : 1 ; $args = array( 'post_type' => 'post', 'posts_per_page' => 1, 'paged' => $paged, 'post_status' => 'publish', 'orderby' => 'post_date', 'order' => 'DESC', 'cat' =>-2, 'suppress_filters' => true, 'monthnum' =>get_query_var('monthnum'), 'post_status' => 'publish' ); $query = new WP_Query($args); ?> <?php $myposts = get_posts( $args ); ?> <?php query_posts(array('cat'=>$cat)); ?> <?php if(have_posts()): while(have_posts()):the_post(); ?> <?php $cat = get_the_category(); ?> <?php $cat = $cat[0]; ?> <?php if($cat->cat_ID!='2') : ?> <section class="BlogCont"> <h3 class="TtlBlog"><?php the_title(); ?></h3> <p class="MgB20"><?php the_time('Y.m.d');?> | <?php the_category(' '); ?> |<?php if(has_tag()==true) : ?>タグ:<?php the_tags('');?><?php else : ?><?php endif; ?></p> <?php the_post_thumbnail( array(150,150) ); ?> <?php the_excerpt(); ?> </section> <?php endif; ?> <?php endwhile; ?> <?php endif; ?> <?php wp_pagenavi(array( 'query' => $query, 'cat'=>$cat, 'monthnum' =>get_query_var('monthnum') )); ?> </div> <div class="BlogAreaR"> <h3 class="BlogTtl02">最近の記事</h3> <ul> <?php /* 所属するカテゴリの記事一覧を表示 */ ?> <?php $catid = get_query_var('cat'); $myposts = get_posts('numberposts=10&cat=-2&orderby=post_date&category='.$catid); ?> <?PHP foreach ( $myposts as $post) : ?> <?php $cat = get_the_category(); ?> <?php $cat = $cat[0]; ?> <li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></li> <?php endforeach; ?> </ul> <p class="Center MgB20"><a href="http://localhost/manggis/blog/">⇒一覧を見る</a></p> <h3 class="BlogTtl02">カテゴリー</h3> <ul> <?php wp_list_categories('title_li=&sort_column=name&optioncount=1&hide_empty=1&hierarchical=1&exclude=2'); ?> </ul> <h3 class="BlogTtl02">アーカイブ</h3> <ul> <?php wp_get_archives('cat=-2'); ?> </ul> <h3 class="BlogTtl02">タグ</h3> <div class="MgB30"><?php wp_tag_cloud(); ?></div> <div class="BlogBanner"> <a href="http://blog.goo.ne.jp/aromahealing-manggis" target="_blank"><img src="<?php bloginfo('template_url'); ?>/common/images/blog/blog_banner.jpg" alt="癒しダイアリー 過去の日記" /></a> </div> </div> </div> </div> <?php get_footer(); ?>

###補足事項
・設定>表示設定>1Pに表示する最大投稿数は1件に設定しております。


記述で足りない箇所や、別の考え方、ここの表記があるからおかしくなる、
のようなアドバイスをいただけないでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

<div class="SubContents"> <h2 class="SubTtl"><img src="<?php bloginfo('template_url'); ?>/common/images/blog/ttl_blog.png" alt="マンギスブログ" /></h2> <div class="BlogArea clearfix"> <div class="BlogAreaL"> <?php while ( have_posts() ) : the_post(); ?> <?php $paged = get_query_var('paged') ? get_query_var('paged') : 1 ; $args = array( 'post_type' => 'post', 'posts_per_page' => 5, 'paged' => $paged, 'post_status' => 'publish', 'orderby' => 'post_date', 'order' => 'DESC', 'cat' => array(get_query_var('cat'), -2), 'monthnum' =>get_query_var('monthnum'), 'suppress_filters' => true); $query = new WP_Query($args); ?> <?php $myposts = get_posts( $args ); ?> <?php foreach ( $myposts as $post ) : setup_postdata( $post ); ?> <section class="BlogCont"> <h3 class="TtlBlog"><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></h3> <p class="MgB20"><?php the_time('Y.m.d');?> | <?php the_category(' '); ?> |</p> <?php the_post_thumbnail( array(150,150) ); ?> <?php the_excerpt(); ?> </section> <?php endforeach; wp_reset_postdata(); ?> <?php endwhile; ?> <!--------------PageNavi---------------> <?php wp_pagenavi(array( 'query' => $query )); ?> </div> <div class="BlogAreaR"> <h3 class="BlogTtl02">最近の記事</h3> <ul> <?php /* 所属するカテゴリの記事一覧を表示 */ ?> <?php $catid = get_query_var('cat'); $myposts = get_posts('numberposts=10&cat=-2&orderby=post_date&category='.$catid); ?> <?PHP foreach ( $myposts as $post) : ?> <?php $cat = get_the_category(); ?> <?php $cat = $cat[0]; ?> <li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></li> <?php endforeach; ?> </ul> <p class="Center MgB20"><a href="http://localhost/manggis/blog/">⇒一覧を見る</a></p> <h3 class="BlogTtl02">カテゴリー</h3> <ul> <?php wp_list_categories('title_li=&sort_column=name&optioncount=1&hide_empty=1&hierarchical=1&exclude=2'); ?> </ul> <h3 class="BlogTtl02">アーカイブ</h3> <ul> <?php wp_get_archives('cat=-2'); ?> </ul> <h3 class="BlogTtl02">タグ</h3> <div class="MgB30"><?php wp_tag_cloud(); ?></div> <div class="BlogBanner"> <a href="http://blog.goo.ne.jp/aromahealing-manggis" target="_blank"><img src="<?php bloginfo('template_url'); ?>/common/images/blog/blog_banner.jpg" alt="癒しダイアリー 過去の日記" /></a> </div> </div> </div> </div> <?php get_footer(); ?>

(1)'cat' => array(get_query_var('cat'), -2)

でうまく動くようになりました。

投稿2018/01/22 04:01

dandelion2299

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問