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

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

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

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

1回答

9421閲覧

wordpressカテゴリー別一覧ページの表示がうまくいかない

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2017/11/16 03:48

編集2022/01/12 10:55

wordpressでカテゴリー別一覧ページを制作しています。
category.phpをつくりました。

例えばaboutというカテゴリーの記事一覧を表示したい場合、
サイトurl/category/about となり、ページ自体は表示されますが、他のカテゴリーの記事まで表示されてしまいます。

原因がわかる方がいましたらお力貸して欲しいです。
初心者なので説明がわかりにくいかと思いますが、よろしくお願いします。

ループは下記になっています。

PHP

1<?php 2 $args = array( 3 'post_type' => 'post', //投稿を表示 4 'posts_per_page' => 9, //表示する件数 5 ); 6 $the_query = new WP_Query( $args ); 7 if ( $the_query->have_posts() ) : 8 ?> 9 <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 10 <?php 11 // 記事のカテゴリー情報を取得する 12 $cat = get_the_category(); 13 $cat_name = $cat[0]->cat_name; // カテゴリー名 14 $cat_slug = $cat[0]->category_nicename; // カテゴリースラッグ 15 ?> 16 <div class="device-sp"> 17 <a href="<?php the_permalink(); ?>"> 18 <article class="col-12 flex blog-item"> 19 <?php if (has_post_thumbnail()) : ?> 20 <?php the_post_thumbnail( 'post-thumbnails', array('class' => 'blog-img') ); ?> 21 <?php else : ?> 22 <img class="blog-img" src="<?php echo get_template_directory_uri(); ?>/images/indoor-01.jpg" alt=""> 23 <?php endif ; ?> 24 <div class="blog-text"> 25 <h1 class="blog-title"><?php echo mb_substr($post->post_title, 0, 20).'…'; //投稿(固定ページ)のタイトルを表示 ?></h1> 26 <span class="blog_tag-position blog_tag blog_tag-<?php echo $cat_slug; ?>"><?php echo $cat_name; ?></span> 27 <span class="blog-add-date"><?php the_time("Y年n月j日"); ?></span> 28 </div> 29 </article> 30 </a> 31 </div> 32 <?php endwhile; ?> 33 <?php endif; ?>

プラグインはAll in One SEO ,CPT UIを入れています。

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

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

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

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

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

guest

回答1

0

こうすればどうですか?

<?php $cat = get_the_category(); $cat_name = $cat[0]->cat_name; // カテゴリー名 $cat_slug = $cat[0]->category_nicename; // カテゴリースラッグ $args = array( 'post_type' => 'post', //投稿を表示 'posts_per_page' => 9, //表示する件数 'category_name' => $cat_slug, ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : ?> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php // 記事のカテゴリー情報を取得する ?> <div class="device-sp"> <a href="<?php the_permalink(); ?>"> <article class="col-12 flex blog-item"> <?php if (has_post_thumbnail()) : ?> <?php the_post_thumbnail( 'post-thumbnails', array('class' => 'blog-img') ); ?> <?php else : ?> <img class="blog-img" src="<?php echo get_template_directory_uri(); ?>/images/indoor-01.jpg" alt=""> <?php endif ; ?> <div class="blog-text"> <h1 class="blog-title"><?php echo mb_substr($post->post_title, 0, 20).'…'; //投稿(固定ページ)のタイトルを表示 ?></h1> <span class="blog_tag-position blog_tag blog_tag-<?php echo $cat_slug; ?>"><?php echo $cat_name; ?></span> <span class="blog-add-date"><?php the_time("Y年n月j日"); ?></span> </div> </article> </a> </div> <?php endwhile; ?> <?php endif; ?>

投稿2017/11/16 04:13

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問