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

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

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

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

PHP

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

Q&A

1回答

270閲覧

カスタムフィールドの値一覧ページ

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/05/20 06:05

編集2018/05/20 06:08

###やりたいこと
次のようにカスタムフィールドの値の一覧を書いてリンクを作りました。

今回は、それぞれの値を持つ記事一覧ページを作りたいと思っています。

「リンゴ」の値を持つ記事の一覧や、「ばなな」の値を持つ記事の一覧ページです。

html

1<!--カスタムフィールドの値一覧--> 2<div class="tag-wrap"> 3 <span class="tag_single"> 4 <a href="http://example.com/">りんご</a> 5 </span> 6 <span class="tag_single"> 7 <a href="http://example.com/">ばなな</a> 8 </span> 9</div> 10 11<script> 12$(function(){ 13 $(".tag_single a").each(function() { 14 var text = $(this).text(); 15 var obj = $(this); 16 var link = obj.attr("href"); 17 obj.attr("href",link+text) 18 }); 19}); 20</script>

###やってみたこと
下記のような「page-tags.php」という固定ページテンプレートを作ったのですが、問題があります。

この「page-tags.php」の編集画面で「http://example.com/tag」とURLを設定したならば、上のコードで作った「http://example.com/tag/りんご」をクリックしても、この「page-tags」を読み込んではくれないのです。

そりゃ、当たり前なのですが笑、どうしたらいいのかわかりません。

php

1<?php 2/* 3Template Name: page-tags 4*/ 5get_header(); ?> 6 7 <div id="primary" class="content-area"> 8 <main id="main" class="site-main"> 9 10 <div class="list"> 11 12 <?php 13 define (URL, (empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 14 $tag = strrchr (URL, "/"); 15 ?> 16 17 <?php $args = Array( 18 'post_type' => 'post', 19 'posts_per_page' => -1, 20 'meta_key' => 'tag_single', 21 'meta_value' => $tag 22 ); 23 $the_query = new WP_Query($args); 24 if($the_query -> have_posts()): 25 while($the_query -> have_posts()): $the_query -> the_post(); 26 27 get_template_part( 'template-parts/single', 'list' ); 28 29 endwhile; 30 endif; 31 wp_reset_postdata(); ?> 32 33 </div> 34 35 <?php pingraphy_the_posts_navigation(); ?> 36 37 </main> 38 </div> 39 40<?php get_footer(); ?>

どうしたら、「リンゴ」の値を持つ記事の一覧や、「ばなな」の値を持つ記事の一覧ページを作ることができるでしょうか?
どなたかお分かりになる方がいらっしゃいましたら教えてくださいませ。m(_ _)m

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

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

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

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

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

guest

回答1

0

page.php等実際読まれてしまうテンプレートの最初にif文書いて強制的に読み込ませれば該当のテンプレートを読みにいきます。

php

1 if(strstr($_SERVER["REQUEST_URI"],'/tag/')) { 2 require(dirname(__FILE__).'/page-tags.php'); 3 exit; 4 }

投稿2018/05/22 04:47

rmrmnrm

総合スコア139

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

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

退会済みユーザー

退会済みユーザー

2018/05/22 12:09 編集

http://example.com/tag/りんご」にアクセスしたときに >実際読まれてしまうテンプレート というのがheader.phpくらいしかないので、そこに書いてみました。 <?php if(strstr($_SERVER["REQUEST_URI"],'/りんご/')) { require(dirname(__FILE__).'/page-tags.php'); exit; } ?> すると、たしかにpage-tags.phpが表示されはしたものの、ブラウザのバー(サイトのタイトルが表示されるところ)に「ページが見つかりません」の表示が出てしまいました。 これはなんとかなりませんでしょうか…?
rmrmnrm

2018/05/23 03:12 編集

固定ページとして存在しないので404になるのは当然です。記事アーカイブとして機能させるために各種関数の設定や、見た目だけでも表示されればよいのであれば都度直書きするなど必要だと思います。「やってほしいことだけを記載した丸投げの質問」とされていますし、再度自分で調べて不明点を質問してはいかがでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問