質問を再投稿させていただきます。
この前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 $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(); ?>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?>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/26 12:30
退会済みユーザー
2016/11/26 12:40
退会済みユーザー
2016/11/26 12:58
2016/11/26 13:36
退会済みユーザー
2016/11/26 13:46
2016/11/26 14:00
2016/11/26 14:01
退会済みユーザー
2016/11/26 14:05
2016/11/27 01:08
2016/11/27 01:12
退会済みユーザー
2016/11/27 01:37
2016/11/27 01:56
退会済みユーザー
2016/11/27 01:59
2016/11/27 02:13
2016/11/27 02:18
退会済みユーザー
2016/11/27 02:24
2016/11/27 02:26
退会済みユーザー
2016/11/27 02:32
2016/11/27 02:37
2016/11/27 02:37
2016/11/27 02:38
退会済みユーザー
2016/11/27 02:40
2016/11/27 02:43
退会済みユーザー
2016/11/27 02:46
2016/11/27 02:55
退会済みユーザー
2016/11/27 03:01
2016/11/27 03:11
退会済みユーザー
2016/11/27 03:21
2016/11/27 03:25
2016/11/27 03:32
退会済みユーザー
2016/11/27 03:57
退会済みユーザー
2016/11/27 04:07
2016/11/27 04:58
2016/11/28 03:34
2016/11/28 04:49
2016/11/28 05:02
退会済みユーザー
2016/11/28 05:16
退会済みユーザー
2016/11/28 05:20
2016/11/28 05:36
2016/11/28 05:36
退会済みユーザー
2016/11/28 05:47
2016/11/28 05:49
2016/11/28 05:49
退会済みユーザー
2016/11/28 05:55
2016/11/28 05:58
退会済みユーザー
2016/11/28 06:05
2016/11/28 06:11
2016/11/28 06:13
退会済みユーザー
2016/11/28 06:25
2016/11/28 06:25
2016/11/28 06:26
2016/11/28 06:31
退会済みユーザー
2016/11/28 06:40
2016/11/28 06:43
2016/11/28 06:45
2016/11/28 06:46
2016/11/28 06:52
2016/11/28 06:53
退会済みユーザー
2016/11/28 07:06
2016/11/28 07:08
退会済みユーザー
2016/11/28 07:12
2016/11/28 07:14
2016/11/28 07:15
退会済みユーザー
2016/11/28 07:17
2016/11/28 07:21
2016/11/28 07:23
2016/11/28 07:24
2016/11/28 07:27
退会済みユーザー
2016/11/28 07:59
2016/11/28 08:01
2016/11/28 08:05
退会済みユーザー
2016/11/28 08:13
退会済みユーザー
2016/11/28 08:34
2016/11/28 09:19
2016/11/28 10:10
2016/11/28 12:55
退会済みユーザー
2016/11/28 13:08
2016/11/28 14:25
2016/11/28 14:37
退会済みユーザー
2016/11/29 00:42
退会済みユーザー
2016/11/29 02:15
退会済みユーザー
2016/11/29 04:08
2016/11/29 08:07
退会済みユーザー
2016/11/29 08:50
退会済みユーザー
2016/11/29 08:58
2016/11/29 09:01
退会済みユーザー
2016/11/29 09:02
2016/11/29 09:07
退会済みユーザー
2016/11/29 09:08
2016/11/29 09:10
2016/11/29 09:12
退会済みユーザー
2016/11/29 09:15
2016/11/29 09:28 編集
退会済みユーザー
2016/11/29 09:29
2016/11/29 09:29
2016/11/29 09:29
退会済みユーザー
2016/11/29 09:30
2016/11/29 09:31
退会済みユーザー
2016/11/29 09:33
2016/11/29 09:37
退会済みユーザー
2016/11/29 09:38
2016/11/29 09:39
2016/11/29 09:40
退会済みユーザー
2016/11/29 09:41
退会済みユーザー
2016/11/29 09:41
2016/11/29 10:16
2016/11/29 10:17
退会済みユーザー
2016/11/29 10:17
退会済みユーザー
2016/11/29 10:28
2016/11/29 12:50
退会済みユーザー
2016/11/29 13:16
2016/11/29 13:44
退会済みユーザー
2016/11/29 13:46
2016/11/29 13:53
退会済みユーザー
2016/11/29 13:56
2016/11/29 14:33
退会済みユーザー
2016/11/29 14:36
退会済みユーザー
2016/11/29 14:40
2016/11/29 14:41
2016/11/29 14:43
退会済みユーザー
2016/11/29 14:47
2016/11/30 01:32
2016/11/30 02:40
退会済みユーザー
2016/11/30 02:56
2016/11/30 07:10
2016/11/30 07:13
2016/11/30 07:50
2016/11/30 09:03
退会済みユーザー
2016/11/30 10:00
2016/11/30 12:11
2016/11/30 12:12
退会済みユーザー
2016/11/30 12:22
2016/11/30 12:56
2016/11/30 13:00
2016/11/30 13:20
退会済みユーザー
2016/11/30 13:47
2016/11/30 13:53
2016/11/30 13:55
退会済みユーザー
2016/11/30 14:14 編集
2016/11/30 15:35
2016/11/30 15:35
2016/11/30 15:42
退会済みユーザー
2016/11/30 23:16
退会済みユーザー
2016/12/01 00:58
2016/12/01 02:41
2016/12/01 02:43
2016/12/01 02:44
2016/12/01 04:52
退会済みユーザー
2016/12/01 05:32
退会済みユーザー
2016/12/01 05:48
退会済みユーザー
2016/12/01 05:52
2016/12/01 05:54
2016/12/01 06:01
退会済みユーザー
2016/12/01 06:11
2016/12/01 06:36
退会済みユーザー
2016/12/01 07:04
2016/12/01 07:07
2016/12/01 07:29
退会済みユーザー
2016/12/01 07:38
0
投稿2016/11/26 10:19
編集2016/11/26 10:21総合スコア35860
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/26 12:31
2016/11/26 13:37
2016/11/27 01:58
退会済みユーザー
2016/11/28 00:11
2016/11/28 06:22
退会済みユーザー
2016/11/28 07:28
2016/11/28 13:02
2016/11/29 00:06
退会済みユーザー
2016/11/29 00:20
2016/11/29 01:12
2016/11/29 01:16
2016/11/29 01:38
2016/11/29 01:40
2016/11/29 01:42
2016/11/29 01:42
2016/11/29 03:21
退会済みユーザー
2016/11/29 04:03
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。