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

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

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

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

Q&A

1回答

667閲覧

カテゴリ別の表示を実現したい

microyuto

総合スコア5

WordPress

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

0グッド

0クリップ

投稿2020/04/21 06:19

編集2020/04/21 09:18

###コメントありがとうございます。
超基本的なことかもしれませんが、category.phpがないと動作しないのでしょうか・・・。
以前やった時にarchive.phpでできた気がしたので、今のところcategory.phpは作っていません・・・。
やはりcategory.phpが必要なのでしょうか。

###arcive.phpのソースはこれです。

<?php /* Template Name: news */ ?> <?php get_header(); ?> <section id="breadcrumbs"> <ul class="clear"> <li><a href="<?php echo home_url();?>">HOME</a></li> <li><a href="<?php echo home_url();?>/news/">ブログ</a></li> </ul> </section> <!--▽contents▽--> <div id="contents" class="clear"> <div role="main" id="main"> <section id="title" class="blog clear"> <strong>ブログ</strong> <h2>D-SPARK最新コンテンツ</h2> <p>仕事に役立つ情報や面白いコンテンツをご紹介します。</p> </section> <section id="new-contents" class="clear"> <?php query_posts('post_type=post&paged='.$paged); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); ?> <article> <figure> <figcaption><?php the_category(); ?></figcaption> <a href="<?php the_permalink(); ?>"> <img src="<?php the_post_thumbnail(array( 250, 166 ) );?>" alt="<?php the_title(); ?>"></a> </figure> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <date><?php the_date(); ?></date> </article> <?php } // end while } // end if ?> </section> <div class="pager-wrap"> <?php the_posts_pagination( array( 'mid_size' => 1, 'prev_text' => 'Prev', 'next_text' => 'Next', 'screen_reader_text' => ' ' ) ); ?> </div> </section> </div> <?php get_sidebar(blog); ?> </div> <!--△contents△--> <?php get_footer(); ?>

前提・実現したいこと

ブログのカテゴリリストを下記ソースコードをつかって表示しました。
リストはちゃんと表示されて、項目名とそのカテゴリが存在する数も表示できました。
イメージ説明

ただ、閲覧したいカテゴリを1個選んだところ
たとえば「お知らせ」(スラッグ名はnotice)というカテゴリをクリック

http://〇〇.com/category/notice/
に飛ぶ。(このURLになるのは希望通り。)

表示される項目がすべてのカテゴリと同じ。
となっています。
「お知らせ」のみをソートして表示させるにはどうすればよいでしょうか?

発生している問題・エラーメッセージ

特にエラーメッセージは表示されません。
表示が希望とちがう感じです。

該当のソースコード

<ul> <?php $cat_all = get_terms( "category", "fields=all&get=all&exclude_tree=12&exclude=11" ); foreach($cat_all as $value): ?> <li><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?>(<?php echo $value->count;?>)</a></li> <?php endforeach; ?> </ul>

試したこと

いろいろ検索しましたが見つからず教えていただけると助かります。

補足情報(FW/ツールのバージョンなど)

ウィジット以外の方法で実現できたらうれしいです。

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

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

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

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

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

kei344

2020/04/21 07:33

(質問文は編集できます)カテゴリページのテンプレートを質問文に追記してください。また、現在の質問文のコードおよびカテゴリページのテンプレートはそれぞれコードブロックで囲んでください。 ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
microyuto

2020/04/21 08:45

ここにかけるんですね。とにかくお返事いただけただけでありがたいです。よろしくお願いいたします。
kei344

2020/04/21 08:50

再掲:現在の質問文のコードおよびカテゴリページのテンプレートはそれぞれコードブロックで囲んでください。 ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
microyuto

2020/04/21 09:19

意味がわかっておらず、失礼しましました。コード部分を囲いました。よろしくお願いいたします。
microyuto

2020/04/21 09:21

あ、本文にも書きましたがcategory.phpは作っておらず、archive.phpを載せています。category.phpが絶対必要ということであれば、ソースがおかしいわけではなく、ファイルが足りないということが問題になるかと思うので、その場合はcategory.phpが足りないとご教示ください。
kei344

2020/04/21 17:57

まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。また、質問文に書かれた状況が解決されていないなら、具体的な状況を質問文に追記ください。
guest

回答1

0

問題はquery_postsを使っているからです。query_postsは通常のルーティングを破壊してしまうため、挙動を把握していないなら使用しないほうが良いです。

提示されたコードであれば、<?php query_posts('post_type=post&paged='.$paged); ?>を削除してしまえばよいと思います。

投稿2020/04/21 09:21

kei344

総合スコア69458

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

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

kei344

2020/04/21 09:23

> category.phpが必要なのでしょうか。 無くても特に問題ないです。
microyuto

2020/04/21 12:33

ありがとうございます!問題は解決しました!!でもほかの問題が出てきてしまって・・・。まだ全然整理がつかないので、またよかったら教えてください!本当に助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問