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

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

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

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

PHP

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

3769閲覧

特定のページからリンクさせる方法

uverworld101nm

総合スコア172

WordPress

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

PHP

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2016/11/26 09:48

編集2016/11/30 12:12

質問を再投稿させていただきます。
この前Lhankor_Mhyさんに教わったこのコードを

"http://localhost:8888/wordpress/詳しいページ?id=<?php echo $rest->id; ?>"

を応用したいです。

例えば、違う固定ページのリンクがあるとします。

"http://localhost:8888/wordpress-8/idJ001118068"
前者のコードのidは

$id=$_GET["id"];

で取得しています。
この詳しいページのidがたまたまJ001118068だったします。
このページのコードに

<a href="http://localhost:8888/wordpress-8/id<?php echo $rest->id; ?>"> </a>

を貼って

"http://localhost:8888/wordpress-8/idJ001118068"

にリンクするようにしたいのですが、「ページが見つかりません」と表示されます。
リンクを一致するようにするにはどうすればいいですか?

php

1<?php 2$key=''; 3$count=1; 4$id=$_GET["id"]; 5$format='xml'; 6$url='http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key='.$key.'&count='.$count.'&id='.$id.'&format='.$format; 7$xml=simplexml_load_file($url); 8$total_count=$xml->results_available; 9?> 10<?php if(!$xml->shop){ echo 'No result!!'; 11} else { 12?> 13<html> 14<body> 15<table border="1"> 16<?php foreach($xml->shop as $rest){ ?> 17<table border="1"> 18<tr> 19<td> 20<?php echo $rest->name; ?> 21</td> 22</tr> 23<tr> 24<td> 25<?php echo $rest->address; ?> 26</td> 27</tr> 28</table> 29<?php 30 echo '<h1>「' . $shop_name . '」' . 'の記事一覧</h1>'; 31 32// 検索条件 33$args = array( 's' => $shop_name ); //投稿のタイトルと内容を$shop_nameで検索する 34 35// The Query 36$the_query = new WP_Query( $args ); 37 38// The Loop 39if ( $the_query->have_posts() ) { 40 echo '<ul>'; 41 while ( $the_query->have_posts() ) { 42 $the_query->the_post(); 43 echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>'; 44 } 45 echo '</ul>'; 46} else { 47 // no posts found 48 echo "その店舗に該当する記事はありません ( ̄ω ̄;) スマヌ"; 49} 50/* Restore original Post Data */ 51wp_reset_postdata(); 52?> 53</html> 54<?php 55} 56} 57} 58?>
<?php $shop_name=$rest->name; echo '<h1>「' . $shop_name . '」' . 'の記事一覧</h1>'; // 検索条件 $args = array( 's' => $shop_name ); //投稿のタイトルと内容を$shop_nameで検索する // The Query $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) { echo '<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>'; } echo '</ul>'; } else { // no posts found echo "その店舗に該当する記事はありません ( ̄ω ̄;) スマヌ"; } /* Restore original Post Data */ wp_reset_postdata(); ?>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/11/29 09:33

もはや伝統芸ですな
guest

回答2

0

ベストアンサー

前の質問を参照してないので、いまいち、何がしたいのかがわかりませんが。
こうすれば、http://localhost:8888/wordpress-8/idJ001118068へリンクできます。

PHP

1<?php $rest->id = 'J001118068'; ?> 2<a href="http://localhost:8888/wordpress-8/id<?php echo $rest->id; ?>"> </a>

それから、WordPressを利用しているのであれば、
固定ページをつくって、そのページスラッグをidJ001118068に設定すれば、万事解決です。

#追記(2016/11/27)
※「投稿」を使用する形式に書き換えました!

#必読
http://localhost:8888/wordpress-8/detail?id=J001118068のような感じで、
WordPressを用いて、idに応じた情報を動的に表示するための実装方法を記述しました。

作業手順をAからDまでのステップでまとめてあります。

質問者様がどの程度WordPressのことを知っているかわからないので、かなり細かく記述しています。

以下の作業を、ひとつも飛ばすことなく、確実に、着実に、実行してください。
長いけれど、最後まで読んでください。

わからない手順があったら、「(B-3)の○○○というところがわからないよ!」みたいにコメントしてください。
「こうしたい場合どうすんの?」みたいなことがあった場合もコメントしてください。
この回答に関することで新規に質問を投稿することはやめてください。

#A.管理画面での作業
(A-1)
WordPressの管理画面から、投稿を新規追加します。
管理画面 > 投稿 > 新規追加

(A-2)
新規追加した投稿のスラッグ欄をdetailに設定し、「公開」ボタンを押します。
※「新規投稿を追加」画面 に「スラッグ」という欄が存在しない場合は、
画面右上の「表示オプション」をクリックし、
「スラッグ」という項目にチェックを入れましょう。

管理画面での作業は以上です。

#B.次に、テーマのテンプレートファイルを設定します。

(B-1)
あなたが使用しているテーマのフォルダを開きます。
wp-content > themes > *****

(B-2)
フォルダの中から、functions.phpというファイルを開きます。
※存在しない場合は、functions.phpというテキストファイルをつくりましょう。

(B-3)
functions.phpの中に以下の記述を書いて、保存します。

PHP

1function my_query_vars( $public_query_vars ) { 2 return array_merge( $public_query_vars, array( 'id' ) ); 3} 4add_filter( 'query_vars', 'my_query_vars' );

(B-4)
あなたが使用しているテーマのフォルダの中に、single-post-detail.phpというテキストファイルをつくります。

(B-5)
single-post-detail.phpの中に以下の記述を書いて、保存します。

PHP

1<?php get_header(); ?> 2 3<?php 4// idを取得します 5$id = get_query_var('id'); 6 7// idが取得できたことを`echo`で表示して確認します 8echo "このページはid=[ " . $id . " ]のページです!!!"; 9?> 10 11<?php get_footer(); ?>

テーマのテンプレートファイルの設定は以上です

#C.最後に動作確認をします

(C-1)
ブラウザのURL欄にhttp://localhost:8888/wordpress-8/detail?id=J001118068と入力します。

(C-2)
ブラウザにこのページはid=[ J001118068 ]のページです!!!と表示されることを確認します。
これができたら、基本的な実装は完了です! やったね!

動作確認は以上です

基本的な実装はこれで完了しました。

#D.APIを使用する応用編
APIに使用するコードを私は知らないので、ここは簡略化します。

(D-1)
single-post-detail.phpのファイルの中にAPIを使用するためのコードを追加します。
idは$idに入っているので、それをAPIに与えてやってください。

(D-2)
single-post-detail.phpのファイルの中にAPIから取得した情報を表示するためのHTMLコードを追加します。

応用編は以上です。

では、ご健闘をお祈りします。

#追記2(2016/11/29)
以下の前提にしたがい、固定ページに検索条件にしたがった記事一覧を表示するコードです。

#前提
■固定ページ
・以下の様な見た目のページをつくるものとする
------
「店名1」の記事一覧
・「店名1に関する投稿1へのリンク」
・「店名1に関する投稿2へのリンク」
・「店名1に関する投稿3へのリンク」
・「店名1に関する投稿4へのリンク」
------
・固定ページのテンプレートファイルには、ホットペーパーAPIを使用するためのコードが入っていて、APIから店名が取得できるものとする

■投稿
・各店舗について書かれている投稿がある
・投稿の「タイトル」か「内容」には必ず「店名」が含まれているものとする

■大前提
・APIが表示する「店名」と、投稿に含まれている「店名」は一致するものとする

#やること
固定ページのテンプレートファイルに以下のコードをはっつけるだけです。
$shop_nameにはAPIから参照した店舗名を入れてください。

PHP

1echo '<h1>「' . $shop_name . '」' . 'の記事一覧</h1>'; 2 3// 検索条件 4$args = array( 's' => $shop_name ); //投稿のタイトルと内容を$shop_nameで検索する 5 6// The Query 7$the_query = new WP_Query( $args ); 8 9// The Loop 10if ( $the_query->have_posts() ) { 11 echo '<ul>'; 12 while ( $the_query->have_posts() ) { 13 $the_query->the_post(); 14 echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>'; 15 } 16 echo '</ul>'; 17} else { 18 // no posts found 19 echo "その店舗に該当する記事はありません ( ̄ω ̄;) スマヌ"; 20} 21/* Restore original Post Data */ 22wp_reset_postdata();

#追記3(2016/12/1)
店舗情報をSimpleXMLElement Objectで取得している場合、
単純にSimpleXMLElement Objectの値を参照しただけでは、SimpleXMLElement Objectのままになります。
このことはvar_dumpすることで簡単に確認できます。

PHP

1var_dump($rest->name); // $restはSimpleXMLElement Object 2$shop_name = $rest->name; 3var_dump($shop_name); // SimpleXMLElement Objectのまま 4// object(SimpleXMLElement)#2244 (1) { 5// [0]=> 6// string(50) "イタリアンバル アクア 上野公園前店" 7// }

よって、代入時にstring型へのキャストが必要です。

PHP

1var_dump($rest->name); // $restはSimpleXMLElement Object 2$shop_name = (string)($rest->name); 3var_dump($shop_name); // string型にキャストされた 4// string(50) "イタリアンバル アクア 上野公園前店"

投稿2016/11/26 10:37

編集2016/12/01 01:06
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

uverworld101nm

2016/11/26 12:30

<?php $rest->id = 'J001118068'; ?> とはしたくないんです。 apiからidを取得するため、idを定義してしまったらそのidが入ったページからしか取得できません。 idがaだったら、aが入った固定ページを表示し、idがcだったらcが入った固定ページを表示したいんです。
退会済みユーザー

退会済みユーザー

2016/11/26 12:58

「idがaだったら、aが入った固定ページ」というのは、「id=aの情報をAPIから取得し、id=aの情報を表示した固定ページ」ということですよね? そして、「APIからの取得と表示」をidに応じて自動的におこなうようにしたい――そういう解釈であってますか?
uverworld101nm

2016/11/26 13:36

wordpressのパーマリンクが?や=が出ないです。
uverworld101nm

2016/11/26 14:01

mizさんの形も見せてください。
uverworld101nm

2016/11/27 01:12

パーマリンク設定で?id=を入れても、?id=は消えてしまいます。
退会済みユーザー

退会済みユーザー

2016/11/27 01:59

ああ、じゃあ大丈夫そうですね。 では、手順を回答の方に追記します。 だいぶ長くなったので、やる気があるときにでも試してみてください。
uverworld101nm

2016/11/27 02:13

ありがとうございます。 詳しい説明、分かりやすかったです。 明日また連絡します!
uverworld101nm

2016/11/27 02:18

あと、すみません。 これを投稿ページでも使えますよね?
退会済みユーザー

退会済みユーザー

2016/11/27 02:24

いいえ、「投稿」では使えません。 私が書いた実装方法は、「固定ページ」を使用する方法です。
uverworld101nm

2016/11/27 02:26

固定ページから投稿に移る方法には応用できないのですか?
退会済みユーザー

退会済みユーザー

2016/11/27 02:32

実装方法を変えればできますが、その方法については書きません。 絶対に「投稿」でなければならない理由がありますか?
uverworld101nm

2016/11/27 02:37

はい、あります。 投稿ページの方がいいと思ったからです。
uverworld101nm

2016/11/27 02:37

いいと思ったのは、投稿ページの方が使いやすいからです。
uverworld101nm

2016/11/27 02:38

固定ページから投稿ページに移る方法を教えてくれないでしょうか?
退会済みユーザー

退会済みユーザー

2016/11/27 02:40

「投稿」の方が使いやすい理由を教えていただけますか?
uverworld101nm

2016/11/27 02:43

固定ページだと使える量が限られてきますが、投稿ページなら何百枚書いても大丈夫だと言うことです。 使える量が限られてくるというのは、ナビゲーションメニューに何百枚も入れる事ができないという事です。
退会済みユーザー

退会済みユーザー

2016/11/27 02:46

「固定ページだと使える量が限られてきます」というのは、初耳です。 よろしければ、その情報の出典元を教えていただけますか?
uverworld101nm

2016/11/27 02:55

僕の固定ページの用途が、ナビゲーションメニューだけなので、出来れば投稿ページの方が使いたいんです。
退会済みユーザー

退会済みユーザー

2016/11/27 03:01

すみません。私の理解力だと、質問者様の「僕の固定ページの用途が、ナビゲーションメニューだけなので、出来れば投稿ページの方が使いたいんです。」の意味がわかりません。 お手数でなければ、もう少しかみくだいて、説明してもらえますか?
uverworld101nm

2016/11/27 03:11

つまり、投稿ページの方を使いたいんです。 投稿ページの方がカテゴリー別に表示できるからです。
退会済みユーザー

退会済みユーザー

2016/11/27 03:21

そうなんですか。(理由はよくわからないけれど)質問者様が是が非でも「投稿」を使いたいのだなということはわかりました。 回答を書き換えるので、しばしお待ちください。ついでに昼飯も食ってきます。
uverworld101nm

2016/11/27 03:25

すみません。 昼飯、ゆっくり食べて下さい。 僕はいつでも大丈夫です。
kei344

2016/11/27 03:32

To: mizさん 過去の質問群から、「「J001118068」などid毎に投稿ページを生成してそこにコメント機能を付けたい」ということだと思いますよ。
退会済みユーザー

退会済みユーザー

2016/11/27 03:57

To: kei344さん ひとまず、この質問から見える条件だけにもとづいて、回答しておくつもりです。 まあ、後からコメントとか言われたら、その時はその時でってことにしときます。 (コメント機能をつけるんだったら、おそらくwp_insert_post()を使って、IDごとの投稿を実際につくる実装にしなきゃならないとは思いますが)
uverworld101nm

2016/11/27 04:58

ありがとうございます。 明日、やってみます。 お疲れ様です。明日、出来たか連絡します。
Lhankor_Mhy

2016/11/28 03:34

横からすみません。 > 投稿ページの方がカテゴリー別に表示できる 確かにそうですが、APIで取得したカテゴリを反映するのは難しいですよ。
uverworld101nm

2016/11/28 04:49

カテゴリー別にできないにせよ、mizさんのコードは正しんですよね?
uverworld101nm

2016/11/28 05:02

c欄の >ブラウザのURL欄にhttp://localhost:8888/wordpress-8/detail?id=J001118068と入力します。 は、どこのブラウザ欄に書くのですか?
退会済みユーザー

退会済みユーザー

2016/11/28 05:16

Webブラウザ(Google ChromeとかFirefoxとかInternet Explorerとか)の上の方に、URLが表示されている場所がありますよね? そこに入力して、エンターキーを押してください。
退会済みユーザー

退会済みユーザー

2016/11/28 05:20

私のコードが正しいか間違っているかときかれれば――「質問者様のやりたいことの全体像が**さっぱり**見えないで答えているので、もしかしたら私の回答は間違っているかもしれません」と自分だったら答えます。
uverworld101nm

2016/11/28 05:36

今、やったらできました! Dは終わっています。
uverworld101nm

2016/11/28 05:36

webapiの情報から投稿に映るにはあと何をすればいいですか?
退会済みユーザー

退会済みユーザー

2016/11/28 05:47

「Dは終わっています」ということは、idに応じた情報をAPIから取得し、idに応じた情報をHTMLのコードに表示することはできたということですか?
uverworld101nm

2016/11/28 05:49

はい、そうです!!! 次はいよいよ固定ページから投稿ページに遷移する方法です。
退会済みユーザー

退会済みユーザー

2016/11/28 05:55

質問者様の使っているAPIってなんのAPIですか? 名前を出して大丈夫であれば、教えてください。
uverworld101nm

2016/11/28 05:58

ホットペーパーapiです。 apiをマスターしようとおもうので使っています。
退会済みユーザー

退会済みユーザー

2016/11/28 06:05

つまり、質問者様のつくりたいもののイメージは、たとえば、「立川駅周辺のフランス料理屋を探したい!」と思ったら―― 検索条件に「立川駅近辺 フランス料理」と入れて検索すると、条件にあてはまる店が複数件リストアップされて表示される。(ここが「固定ページ」) この店がよさそうだなと思って、その店の名前をクリックすると、その店の詳しい情報がさらに出てくる。(ここが「投稿」) みたいな感じですか?
uverworld101nm

2016/11/28 06:11

そういうのを作りたくないんです。 ありきたいなので
uverworld101nm

2016/11/28 06:13

ではなく、店舗情報があったらそれに関連する記事を作りたいんです。 つまり、〇〇店舗があったら〇〇店舗についてかかれている記事を表示する だから、固定ページから投稿に移る方法を教えてください。
退会済みユーザー

退会済みユーザー

2016/11/28 06:25

「店舗情報」を表示するのが「固定ページ」で、「それに関連する記事」が「投稿」ですか?
uverworld101nm

2016/11/28 06:26

説明不足で申し訳ございません。
uverworld101nm

2016/11/28 06:31

固定ページから投稿に移る方法として、idが使えると思ったのですが
退会済みユーザー

退会済みユーザー

2016/11/28 06:40

$rest->idにidが入っているのであれば、固定ページに <a href="http://localhost:8888/wordpress-8/detail?id=<?php echo $rest->id; ?>">リンクテキスト</a> と書けば、遷移できます。 ただ、なんか、質問者様の想定されている仕様を聞けば聞くほど、私の提示した実装方法は不適切な気がしてきました。
uverworld101nm

2016/11/28 06:43

いえいえ、そんな事ありませんよ!
uverworld101nm

2016/11/28 06:45

〇〇ラーメンの投稿記事があります。その投稿記事にはapiを施していません。 ある固定ページの店舗情報にはapiの情報があります。a hrefを使って店舗情報から投稿に移るには、 投稿記事には何を書けばいいですか?
uverworld101nm

2016/11/28 06:52

?id=をパーマリンクに付け足せません。
uverworld101nm

2016/11/28 06:53

パーマリンクに付け足すと、idだけになってしまいます。
退会済みユーザー

退会済みユーザー

2016/11/28 07:06

質問者様の言っている「パーマリンク」って、「管理画面 > 投稿の編集 > パーマリンク」 のことですか?
uverworld101nm

2016/11/28 07:08

はい、そうです。 固定ページから投稿ページに移るにはそれしか方法はないかなと思って
退会済みユーザー

退会済みユーザー

2016/11/28 07:12

投稿ページ側には、APIに関連する情報は一切ないってことですよね。 (これは独り言です→「アクティブ」タブのタイムラインを踏み荒らしてしまって、 皆さん、ごめんなさい……)
uverworld101nm

2016/11/28 07:14

大丈夫です。 はい、そうです。
uverworld101nm

2016/11/28 07:15

あるとしたら、パーマリンクにidを付け足すくらいですかね。
退会済みユーザー

退会済みユーザー

2016/11/28 07:17

投稿ページ側にAPIに関連する情報が一切ないということは、投稿ページをつくった時点ではAPIのidはわからないということではありませんか?
uverworld101nm

2016/11/28 07:21

ああ、そうですよね。 じゃあ、無理ですか?
uverworld101nm

2016/11/28 07:23

投稿ページにapiのでーたを載せることはできますか?
uverworld101nm

2016/11/28 07:24

フォルダを作らずに、投稿記事に直接書くことです。
uverworld101nm

2016/11/28 07:27

じゃあ、どうやったら移る事が出来るのですか?
退会済みユーザー

退会済みユーザー

2016/11/28 07:59

質問者様はどう思われますか?
uverworld101nm

2016/11/28 08:01

よく分かりません。 どうやったら、出来るのか
uverworld101nm

2016/11/28 08:05

mizさんは出来ると思いますか?
退会済みユーザー

退会済みユーザー

2016/11/28 08:13

ぱっと思いつくのは、「投稿ページをつくるときにフックで仕掛けをつくって店名からAPIのidをひいてpost_nameに設定するようにする」とか「投稿編集画面にAPIの検索フォームをつける」とか。 できるかわかりませんが、面白そうな案はありますよ。
退会済みユーザー

退会済みユーザー

2016/11/28 08:34

「APIを使っている側のページで、全投稿のpost_title, post_contentを店名で検索して、そのリンクを表示させる」が一番簡単かも。
uverworld101nm

2016/11/28 09:19

>「APIを使っている側のページで、全投稿のpost_title, post_contentを店名で検索して、そのリンクを表示させる」が一番簡単かも。 それってどうやってやるのですか?
fu_sen

2016/11/28 10:10

横からすみません https://teratail.com/questions/56652 にてmizさんの質問を無視しておいてよくこんなに厚かましく聞けますね。失礼だと思わないのですか?
uverworld101nm

2016/11/28 12:55

mizさん、もしよろしければ方法を教えてください。
退会済みユーザー

退会済みユーザー

2016/11/28 13:08

明日でも気向いたら、コード書いてみますね。 fu_senさん まあ、あまり深刻に受け取らないでくださいな。私なんかは、この堂々ぶりに爆笑をしそうなくらいの気持ちで対応しているので。暇を持て余して、頭の体操しているだけですし。
uverworld101nm

2016/11/28 14:37

あと、投稿から固定ページに移る方法も教えて下さい。
退会済みユーザー

退会済みユーザー

2016/11/29 00:42

出来てもいないのに「投稿ページ」の方が使いやすいとか言えるんだろうか…ついでに言うと「ありきたり」な物も出来ないのに作りたくないとか何作りたいんだろ?
退会済みユーザー

退会済みユーザー

2016/11/29 02:15

こういうことをしたいのかな?と、私が想像をふくらませた仕様をもとに、コードを書きました。 質問者様のやりたいことってこんな簡単なことなの?と、半信半疑ですが。
退会済みユーザー

退会済みユーザー

2016/11/29 04:08

まぁよく分からない押し問答したり、お小言系は無視したり、果ては逆切れする様な人ですからねぇ…基礎的なこととかもすっ飛ばしているようですし。
uverworld101nm

2016/11/29 08:07

すみません、このままだとそのまま表示されるだけだと思うのですが・・・ <php>タグとか使わないのですか?
退会済みユーザー

退会済みユーザー

2016/11/29 08:50

PHPのソースですから、**当然**<?php ~ ?>で囲まれるように貼ってください。
退会済みユーザー

退会済みユーザー

2016/11/29 08:58

テンプレートファイル(wp-content > themes > 「使っているテーマフォルダ」にあるファイル)に貼ってくださいね。
uverworld101nm

2016/11/29 09:01

わかりました。 今実行したところ、 「」の記事一覧 店名 記事から探す と表示されました。
退会済みユーザー

退会済みユーザー

2016/11/29 09:02

「$shop_nameにはAPIから参照した店舗名を入れ」ましたか?
uverworld101nm

2016/11/29 09:07

入れました。 あと、訂正です。 「」の記事一覧 〇〇(店名) detail 記事から探す と表示されます。
退会済みユーザー

退会済みユーザー

2016/11/29 09:08

私が提示したコードを追加したPHPファイルのコード全体を質問文に貼ってください。
uverworld101nm

2016/11/29 09:10

<?php echo '<h1>「' . $shop_name . '」' . 'の記事一覧</h1>'; // 検索条件 $args = array( 's' => $shop_name ); //投稿のタイトルと内容を$shop_nameで検索する // The Query $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) { echo '<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>'; } echo '</ul>'; } else { // no posts found echo "その店舗に該当する記事はありません ( ̄ω ̄;) スマヌ"; } /* Restore original Post Data */ wp_reset_postdata(); ?>
uverworld101nm

2016/11/29 09:12

何店舗分の投稿を書いたら全て表示されます。
退会済みユーザー

退会済みユーザー

2016/11/29 09:15

私が提示したコードを追加した「PHPファイルのコード全体」を質問文に貼ってください。
uverworld101nm

2016/11/29 09:28 編集

<?php $key=''; $count=1; $id=$_GET["id"]; $format='xml'; $url='http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key='.$key.'&count='.$count.'&id='.$id.'&format='.$format; $xml=simplexml_load_file($url); $total_count=$xml->results_available; ?> <?php if(!$xml->shop){ echo 'No result!!'; } else { ?> <html> <body> <table border="1"> <?php foreach($xml->shop as $rest){ ?> <table border="1"> <tr> <td> <?php echo $rest->name; ?> </td> </tr> <tr> <td> <?php echo $rest->address; ?> </td> </tr> </table>
退会済みユーザー

退会済みユーザー

2016/11/29 09:29

私が提示したコードを追加したPHPファイルのコード全体を「質問文」に貼ってください。
uverworld101nm

2016/11/29 09:29

このコードの下にmizさんのコードを入れました。
退会済みユーザー

退会済みユーザー

2016/11/29 09:30

私が提示したコードを追加した状態で、貼ってください。
退会済みユーザー

退会済みユーザー

2016/11/29 09:33

質問文にコードを張るときは```で囲みましょう。 それで、「$shop_nameにはAPIから参照した店舗名を入れ」ましたか?
退会済みユーザー

退会済みユーザー

2016/11/29 09:38

$shop_nameにAPIから参照した店舗名を入れている部分のコードを提示していただけますか。
uverworld101nm

2016/11/29 09:39

「」の記事一覧 〇〇(店名) 〇〇(店名) detail 記事から探す と表示されます。
uverworld101nm

2016/11/29 09:40

>$shop_nameにAPIから参照した店舗名を入れている部分のコードを提示していただけますか。 提示したコードの通りです。 そのままです。
退会済みユーザー

退会済みユーザー

2016/11/29 09:41

それは表示される結果ですよね。 そうではなくて、$shop_nameにAPIから参照した店舗名を入れている部分の「PHPのコード」を提示していただけますか。
退会済みユーザー

退会済みユーザー

2016/11/29 09:41

えーとですね、聞きたいのは、 どこで、$shop_nameに値を入れているんですかぁ?ってことです。
uverworld101nm

2016/11/29 10:17

どうやって値を入れるのですか?
退会済みユーザー

退会済みユーザー

2016/11/29 10:17

そうですか。 それで、「$shop_nameにはAPIから参照した店舗名を入れ」ましたか?
退会済みユーザー

退会済みユーザー

2016/11/29 10:28

> どうやって値を入れるのですか? 普通に代入すればいいだけなので、簡単ですよ。 「APIから参照した店舗名」が$nameに入っているのなら、$shop_name = $name;って感じに。
uverworld101nm

2016/11/29 12:50

echo '<h1>「' . $shop_name = <?php echo $rest->name; ?> . '」' . 'の記事一覧</h1>'; と入れたのですが、エラーになりました。
退会済みユーザー

退会済みユーザー

2016/11/29 13:16

おお、そうきたか。 ヒントを出そうかと思ったけれど、簡単すぎてヒントが思いつかないので、もういいや。 こんな感じに書きましょう。 $shop_name = $rest->name;
uverworld101nm

2016/11/29 13:44

そういう風に書きましたが、エラーになりました。
退会済みユーザー

退会済みユーザー

2016/11/29 13:46

「そういう風」ではなく、どう書いたのかを教えてください。
uverworld101nm

2016/11/29 13:53

<?php echo '<h1>「' . $shop_name = $rest->name;. '」' . 'の記事一覧</h1>'; と書きました。
退会済みユーザー

退会済みユーザー

2016/11/29 13:56

代入と表示は行を分けてかきましょう。 どんなものにもいえることですが、物事はひとつずつ片付けていくのが基本です。
uverworld101nm

2016/11/29 14:33

分かりました。 代入と表示を分けて書くとは?
退会済みユーザー

退会済みユーザー

2016/11/29 14:36

代入する; 表示する; ――ってことです。
退会済みユーザー

退会済みユーザー

2016/11/29 14:40

そうだ。 下線部を穴埋めしてください。 _____ = _____; echo '<h1>「' . _____ . '」' . 'の記事一覧</h1>';
uverworld101nm

2016/11/29 14:41

代入するって何のことですか?
uverworld101nm

2016/11/29 14:43

①$shop_name ②$rest->name; ③$shop_name
退会済みユーザー

退会済みユーザー

2016/11/29 14:47

あたりです。それをPHPのコードに書いてください。
hnw

2016/11/30 01:32

mizさんの根気の良さに脱帽…
jm1156

2016/11/30 02:40

まぁネットのことなので、根気の良さはいいけど、 リアルだとあまやかしすぎで本人の為にはならんだろうね…。 問題がでたら、また誰かがmizさんと同じように uverworld101nmさんの相手をしてやらんとダメでしょう。 前回Lhankor_Mhyさんが相手をしてあげたのに、同じようになってますから…。
退会済みユーザー

退会済みユーザー

2016/11/30 02:56

根気が良いというよりは、暇だから遊んでいるわけなんですけどね、実際のところ。
uverworld101nm

2016/11/30 07:10

mizさんのいう通り直りました。 「〇〇店名」の記事一覧と表示されるようになりましたが、他の記事も表示されます。 該当の記事だけ表示することはできますか?
uverworld101nm

2016/11/30 07:13

記事一覧で表示されてしまいます。
jm1156

2016/11/30 07:50

「他の記事」と「該当の記事」の違いはなんでしょうか? どういう表示がでてるのか詳しくお願いします。 「他の記事」と「該当の記事」だけ書かれてもわかりません。 ざっとみたところ店舗名でWP_Queryを取得してるようなので、 「〇〇店名」の記事が全部でると予想してるのですが。 「該当の記事」というのをフィルタしないといけないのではないでしょうか?
uverworld101nm

2016/11/30 09:03

他の記事とは店名と該当しない記事のことです。 mizさんのコードは店名と一致する記事を表示するんですよね? そして該当する記事がない場合、該当しませんと表示されるんですよね?
退会済みユーザー

退会済みユーザー

2016/11/30 10:00

回答文に書いているとおり、タイトルか内容に$shop_nameがふくまれている投稿のみ表示するはずです。 今現在のコードを質問文に記載していただけますか? 今質問文に書かれているコードを上書きする形でいいので。
uverworld101nm

2016/11/30 12:12

特に編集した部分はありません。
退会済みユーザー

退会済みユーザー

2016/11/30 12:22

質問への追記ありがとうございます。 少なくとも、記載していただいた範囲ではコードに問題はなさそうに見えます。 jm1156さんがコメントしてくださっている以下の点についてはどうですか? > 「他の記事」と「該当の記事」の違いはなんでしょうか? > どういう表示がでてるのか詳しくお願いします。 > 「他の記事」と「該当の記事」だけ書かれてもわかりません。
uverworld101nm

2016/11/30 12:56

他の記事とは、僕が適当に書いた記事のことです。 つまり、店名と一致していない記事や、他の店名が書かれた記事が表示されます。 〇〇屋さんだけの記事が表示されるようにしたいんです。
uverworld101nm

2016/11/30 13:00

該当の記事とは、店名にヒットした記事のことです。 例えば、ラーメン次郎のapiの情報を表示したなら、ラーメン次郎の名前が入った記事だけを表示させたいんです。 今回の僕の悩みは、ラーメン次郎以外の記事、大勝軒のタイトルが入った記事までもが表示されます。
uverworld101nm

2016/11/30 13:20

大勝軒のタイトルが入った記事が他の記事のことです。 また、該当する記事がない場合、該当する記事がありませんと表示される筈ですが表示されません。 ラーメンの話ばかりですみません。 ラーメンが好きなので
退会済みユーザー

退会済みユーザー

2016/11/30 13:47

「大勝軒」の記事の内容に「ラーメン二郎」という言葉が入ってませんか? 回答にも書いていますが、今は記事の「タイトルと内容」を検索しているので、タイトルが「大勝軒」であっても、記事の内容で「ラーメン二郎と比べると大勝軒は~」みたいな文があると、それもヒットします。
uverworld101nm

2016/11/30 13:55

$the_query->the_post(); だから、全て表示されるんですかね?
退会済みユーザー

退会済みユーザー

2016/11/30 14:14 編集

> そんな事は書いていません。 私が書いた文は例ですが、「大勝軒」の記事の中で「ラーメン二郎」という言葉は一切出てきてないということですね? うーん、そうなるとほかのコードが影響しているのかな……? 私がテストした分にはきちんと動いていたのですが。 他に何か原因があるのかもしれませんが、今ある情報の範囲だとお手上げですね。ごめんなさい。
uverworld101nm

2016/11/30 15:35

もう一度チャレンジするので待って下さい。
uverworld101nm

2016/11/30 15:42

すみません、今確認しましたが、固定ページと投稿ページ、両方が表示されます。
退会済みユーザー

退会済みユーザー

2016/11/30 23:16

「固定ページと投稿ページ、両方が表示されます。」とはどういう意味ですか? どこになにがどのように表示されるのですか?
退会済みユーザー

退会済みユーザー

2016/12/01 00:58

原因がわかりました。 SimpleXMLElement Objectの値はただ参照しただけだと、SimpleXMLElement Objectのままなので、(string)でのキャストが必要です。 実際にホットペッパーAPIからデータを取り、var_dump($shop_name);してみて、やっとわかりました。 以下の様に修正してください。 $shop_name = (string)($rest->name);
uverworld101nm

2016/12/01 02:41

こういう風に表示されます。 「〇〇(店名)」の記事一覧 〇〇(店名) 〇〇(店名) このサイトについて(これは僕が作成した固定ページ) detail(これも僕が作成した固定ページ) となります。 mizさんのコードを実行した時です。
uverworld101nm

2016/12/01 04:52

実行したら、出来ました! ありがとうございます。 また、もう一つ質問してよろしいでしょうか? この投稿ページから元の固定ページに遷移するリンクも作りたいのですが、どうやって作るのですか? 例えば、ラーメンやすべえの記事からラーメン次郎のapiの固定ページに移る方法です。
退会済みユーザー

退会済みユーザー

2016/12/01 05:32

> 例えば、ラーメンやすべえの記事からラーメン次郎のapiの固定ページに移る方法です。 あれ、「らーめんやすべえ」の記事から「らーめんやすべえ」のAPIの固定ページに移るのではないですか?
退会済みユーザー

退会済みユーザー

2016/12/01 05:48

というか、(一応のところ)別件である質問を芋づる式にだらだらと続けるのはどうかと思いますので、ここでの回答はいたしません。
uverworld101nm

2016/12/01 05:54

mizさん、ありがとうございます。助かりました。
uverworld101nm

2016/12/01 06:01

mizさんが僕の為にしてくれたこと、一生忘れません。
退会済みユーザー

退会済みユーザー

2016/12/01 06:11

いや、そんなん忘れてくれていいので、それよりも、ajisanさんのおっしゃるとおり、もっと適切な質問の仕方を学んでください。 回答者はエスパーじゃありません。質問者様が何を考えているのかを読み取ることはできません。文脈や行間を読み取るにも限度があります。 質問文にきちんと書いてくれなければ、質問者様の困っていることも意図も全然わからないのです。 後、PHPの基礎も学んでください。
退会済みユーザー

退会済みユーザー

2016/12/01 07:04

あ、そうだ。 肝に銘じるのであれば、まずはこの質問文をどう書けばいいか考えてみてはいかがですか?→「投稿ページから固定ページの情報を表示する方法」
uverworld101nm

2016/12/01 07:07

考えます。 mizさん、もしよかったらそちらの質問で話しあいましょう。 これにて質問を閉鎖します。
jm1156

2016/12/01 07:29

結局また頼るのですね…。 「つぎはmizさんに教わらなくても、自分でなんとかしてみせます!」とか そういう発想にはならないんですね…。 最初から人に頼る気満々だと、同じことの繰り返しになりますよ。 がんばってくださいね。
退会済みユーザー

退会済みユーザー

2016/12/01 07:38

はぁ…やはりというかなんというか、mizさんが言わなければスルーしてた流れですよねこれ。 本人は「話し合い(対等な関係)」とかアホな事言ってますが、実際は「思考停止の質問(ただ餌求める雛鳥と親鳥の図)」でしかないんだよなぁ… >jm1156さん 残念ながらいつまでたってもそういう発想は出来ないままだと思いますよ…耳の痛い話は全スルーもしくは訳の分からん逆切れで済ましますので… 回答者の方には「本当にお疲れ様です」としか言えませんね。
guest

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

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

uverworld101nm

2016/11/26 12:31

難しいですね。 これを僕の質問に変えるなら、どう書けばいいのですか?
uverworld101nm

2016/11/26 13:37

lhankor_mhyさんならどう書きますか?
uverworld101nm

2016/11/27 01:58

教えてください。お願いします。
退会済みユーザー

退会済みユーザー

2016/11/28 00:11

少しは自力で考えたら?ヒントは貰ってるわけだし
uverworld101nm

2016/11/28 06:22

固定ページから投稿に移る方法として、idが使えそうですが、どう使えばいいか
退会済みユーザー

退会済みユーザー

2016/11/28 07:28

そこの試行錯誤してみれば?ってことなんだけども…
uverworld101nm

2016/11/28 13:02

lhankor_mhyさん、かなり難しいので教えて下さい。
date

2016/11/29 00:06

ありきたりも作れないのにそれ以上のものを作れるわけがない 教えて×  作ってではないかな
退会済みユーザー

退会済みユーザー

2016/11/29 00:20

「聞く前にやる」これがどうして出来んかねぇ…そしていつもの無視ですか…
Lhankor_Mhy

2016/11/29 01:12

> uverworld101nmさん mizさんとのやり取りで書いてあったやりたいことは、このやり方では実現しません。 というか、ホットペッパーAPIを使う必要がないと思います。
uverworld101nm

2016/11/29 01:16

そうなんですか? では、どうやってやるのですか?
Lhankor_Mhy

2016/11/29 01:38

それはあなたが考えることなんじゃないかと思うんですが…… 「アルゴリズムを教えてください」ぐらいなら分かるんですが、「仕様を考えてください」ってのをこのサイトやるのはちょっとひどい。 2つ確認したいんですが。 ・投稿ページがないお店情報はページが存在しませんがどうしますか? ・上記お店情報は固定ページの検索結果に表示させますか?
uverworld101nm

2016/11/29 01:40

仕様というより、ヒントです。
uverworld101nm

2016/11/29 01:42

投稿ページがないお店情報は、まだ考えていません。
uverworld101nm

2016/11/29 01:42

上記お店情報は固定ページの検索結果に表示させません。
Lhankor_Mhy

2016/11/29 03:21

> 投稿ページがないお店情報は、まだ考えていません。 では、決まったら教えてください。それが分からないとヒントも出せないので。
退会済みユーザー

退会済みユーザー

2016/11/29 04:03

> uverworld101nmさん 「仕様というより、ヒントです。」とありますがあなたが求めている物は仕様、答えなんです。 勘違いは程ほどに。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問