🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3575閲覧

【WordPress】single.phpが読み込まれない

tom_k_92

総合スコア7

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/01/07 04:50

編集2021/01/07 07:21

起きていること

ホームページにコラム記事を作成する機能を作っており、
以下のファイル構成で、『記事一覧』 『カテゴリー別の記事一覧』 『個別記事ページ』を作成しております。

| 内容 | ファイル名 | リンク |
| ---- | ---- |
| コラム記事一覧 | page-column.php | /column/ |
| カテゴリー記事一覧 | category.php | /column/%category%/ |
| 個別記事 | single.php | /column/%category%/%post_id%/ |

 
『記事一覧』 『カテゴリー別の記事一覧』 から、任意の『個別記事』にリンクしたいので、
個別記事へのリンク部分に<a class="article" href="<?php the_permalink(); ?>">を記述しております。

すると、リンクは 『/column/サンプルカテゴリ①/76/』 のような形で正常に読み込んでいるのですが、肝心のsingle.phpが読み込まれずエラーが起きます。

クエリを調査すると**category_nameとしてcategory,post_id 共に送られているので、これが原因だと思われますが、
同様の事例を他に見つけることができず、解決策が分かっていません。**

原因及び解決策についてご教示いただけないでしょうか?

コード

php

1<!-- page-column.phpの記述 --> 2<?php 3 $paged = (int) get_query_var('paged'); 4 $args = array( 5 'posts_per_page' => 8, 6 'paged' => $paged, 7 'orderby' => 'post_date', 8 'order' => 'DESC', 9 'post_type' => 'post', 10 'post_status' => 'publish' 11 ); 12 $the_query = new WP_Query($args); 13 if ( $the_query->have_posts() ) : 14 while ( $the_query->have_posts() ) : $the_query->the_post(); 15?> 16 <article> 17 <a class="article" href="<?php the_permalink(); ?>"> 18 <div class="article__image"> 19 <div class="article__image--flg"></div> 20 <?php 21 if(has_post_thumbnail()){ 22 the_post_thumbnail( 'array()', array('class' => 'article__image--data')); 23 }else{ 24 echo '<img src="' . esc_url(get_template_directory_uri()) . '/img/no-image.jpeg" alt="no-image" class="article__image">'; 25 } 26 ?> 27 </div> 28 <div class="article__content"> 29 <p class="article__content--time"><?php the_time('Y.m.d'); ?></p> 30 <h3 class="article__content--title"><?php the_title(); ?></h3> 31 <p class="article__content--sentence"><?php echo mb_substr( get_the_excerpt(), 0, 100 ) . '...'; ?></p> 32 <div class="article__content--more"> 33 <p>more</p> 34 </div> 35 </div> 36 </a> 37 </article> 38 <?php endwhile; endif; ?>

php

1<!-- category.phpの記述 --> 2 3<?php 4$paged = (int) get_query_var('paged'); 5$current_category = single_cat_title("", false); 6$args = array( 7 'posts_per_page' => 8, 8 'paged' => $paged, 9 'orderby' => 'post_date', 10 'category_name' => $current_category, 11 'order' => 'DESC', 12 'post_type' => 'post', 13 'post_status' => 'publish' 14); 15$the_query = new WP_Query( $args ); 16if ( $the_query->have_posts() ) : 17 while ( $the_query->have_posts() ) : $the_query->the_post(); 18?> 19<article> 20 <a class="article" href="<?php the_permalink(); ?>"> 21 <div class="article__image"> 22 <div class="article__image--flg"></div> 23 <?php 24 if(has_post_thumbnail()){ 25 the_post_thumbnail( 'array()', array('class' => 'article__image--data')); 26 }else{ 27 echo '<img src="' . esc_url(get_template_directory_uri()) . '/img/no-image.jpeg" alt="no-image" class="article__image">'; 28 } 29 ?> 30 </div> 31 <div class="article__content"> 32 <p class="article__content--time"><?php the_time('Y.m.d'); ?></p> 33 <h3 class="article__content--title"><?php the_title(); ?></h3> 34 <p class="article__content--sentence"><?php echo mb_substr( get_the_excerpt(), 0, 100 ) . '...'; ?></p> 35 <div class="article__content--more"> 36 <p>more</p> 37 </div> 38 </div> 39 </a> 40</article> 41<?php endwhile; endif; ?> 42

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

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

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

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

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

guest

回答1

0

ベストアンサー

テンプレート階層で別のに引っかかってないかチェック

query_monitorで意図通りのクエリになっているかチェック

投稿2021/01/07 04:58

編集2021/01/07 05:03
KazuhiroHatano

総合スコア7819

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

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

tom_k_92

2021/01/07 05:06 編集

ご回答いただき誠にありがとうございます。 作成しようとしている個別記事ページは、固定ページではなくWordPressの各投稿の詳細ページになります。 page.phpとsingular.phpをただいま試してみましたが、やはり読み込まれません。。
KazuhiroHatano

2021/01/07 05:11

修正前の回答見ちゃいましたか、すいません
tom_k_92

2021/01/07 06:18

ありがとうございます! query_monitorで見てみると、カテゴリの階層に引っ張られているような気がします! このプラグインは初めて使ったので、対処方法もまだ分からないのですが、、少し試行錯誤してみます! https://gyazo.com/b1bce36c69dad3122ecbf6ba0270d5ad
tom_k_92

2021/01/07 07:24

クエリを調査したのですが、category_nameとしてcategory, post_id 共に送られているので、これが原因だと思われます。 しかし、同様の事例を他に見つけることができず、解決策がまだ分かっていません。 私自身データベースまで理解が追いついておらず恐縮なのですが、解決のヒントになるような情報をご存知ないでしょうか? https://gyazo.com/28f87a275c3cbe2ab67be4fdc2ae62e6
KazuhiroHatano

2021/01/07 07:37

/column/%category%/に先に引っかかってしまってるということなら /column/%category%/%post_id%/ が /column/%category%/ より先に評価されるように パーマリンク設定をやり直し
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問