%1$sみたいな変換指定子を<a>タブでクリックできるようにはどうすればいいですか?
実はyahoo!api(厳密にはローカルリサーチ)を使っています。情報を取得するところまでできましたが、肝心の店舗のurlができません。<a>タグを使えばurlのリンク先に飛ぶことができることは知っていますが、yahoo!apiを使う場合、当然の事ながら個々の店舗のurlはphpコードには表示されず、urlの代わりに変換指定子が表示されています。(ここでいうと、%7$Sがこれに相当します)wordpressに表示したときにurlが表示されます。どうすればurlをクリックできるようになるのですか?
下記にphpコードを掲載します。
ちなみに、> <td><a href=\"%8$s\">サイトはこちら</a></td>を使ってみましたが、クリックできることはできますがurlの中身が表示されません。pcのサイトを表示させるにはどうすればいいですか?
<?php
/**
* Template Name: Tokyotest26
*
*/
get_header();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>東京の店舗情報</title>
<head>
<body>
<form method="GET">
<select name="my_filter" id="my_filter">
<option value="13101">東京都 千代田区 </option>
<option value="13102">東京都 中央区 </option>
<option value="13103">東京都 港区 </option>
<option value="13104">東京都 新宿区 </option>
<option value="13105">東京都 文京区 </option>
<option value="13106">東京都 台東区 </option>
<option value="13107">東京都 墨田区 </option>
<option value="13108">東京都 江東区 </option>
<option value="13109">東京都 品川区 </option>
<option value="13110">東京都 目黒区 </option>
<option value="13111">東京都 大田区 </option>
<option value="13112">東京都 世田谷区 </option>
<option value="13113">東京都 渋谷区 </option>
<option value="13114">東京都 中野区 </option>
<option value="13115">東京都 杉並区 </option>
<option value="13116">東京都 豊島区 </option>
<option value="13117">東京都 北区 </option>
<option value="13118">東京都 荒川区 </option>
<option value="13119">東京都 板橋区 </option>
<option value="13120">東京都 練馬区 </option>
<option value="13121">東京都 足立区 </option>
<option value="13122">東京都 葛飾区 </option>
<option value="13123">東京都 江戸川区 </option>
<option value="13201">東京都 八王子市 </option>
<option value="13202">東京都 立川市 </option>
<option value="13203">東京都 武蔵野市 </option>
<option value="13204">東京都 三鷹市 </option>
<option value="13205">東京都 青梅市 </option>
<option value="13206">東京都 府中市 </option>
<option value="13207">東京都 昭島市 </option>
<option value="13208">東京都 調布市 </option>
<option value="13209">東京都 町田市 </option>
<option value="13210">東京都 小金井市 </option>
<option value="13211">東京都 小平市 </option>
<option value="13212">東京都 日野市 </option>
<option value="13213">東京都 東村山市 </option>
<option value="13214">東京都 国分寺市 </option>
<option value="13215">東京都 国立市 </option>
<option value="13218">東京都 福生市 </option>
<option value="13219">東京都 狛江市 </option>
<option value="13220">東京都 東大和市 </option>
<option value="13221">東京都 清瀬市 </option>
<option value="13222">東京都 東久留米市 </option>
<option value="13223">東京都 武蔵村山市 </option>
<option value="13224">東京都 多摩市 </option>
<option value="13225">東京都 稲城市 </option>
<option value="13227">東京都 羽村市 </option>
<option value="13228">東京都 あきる野市 </option>
<option value="13229">東京都 西東京市 </option>
<option value="13303">東京都 西多摩郡瑞穂町 </option>
<option value="13305">東京都 西多摩郡日の出町 </option>
<option value="13307">東京都 西多摩郡檜原村 </option>
<option value="13308">東京都 西多摩郡奥多摩町 </option>
<option value="13361">東京都 大島町 </option>
<option value="13362">東京都 利島村 </option>
<option value="13363">東京都 新島村 </option>
<option value="13364">東京都 神津島村 </option>
<option value="13381">東京都 三宅島三宅村 </option>
<option value="13382">東京都 御蔵島村 </option>
<option value="13401">東京都 八丈島八丈町 </option>
<option value="13402">東京都 青ヶ島村 </option>
<option value="13421">東京都 小笠原村 </option>
</select>
<input type="submit" value="絞り込み" />
</form>
<?php
if ( isset( $_GET[ 'my_filter' ] ) && preg_match( '![0-9]{5}!', $_GET[ 'my_filter' ] ) ) {
$area = $_GET[ 'my_filter' ];
} else {
$area = '13';
}
if ( isset( $_GET[ 'my_page' ] ) && is_numeric( $_GET[ 'my_page' ] ) ) {
$my_page = absint( $_GET[ 'my_page' ] );
} else {
$my_page = 1;
}
$id= '私のid';
$item_per_page = 100;
$ct = '01';
$start = ( $my_page - 1) * $item_per_page + 1;
$url = 'http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?appid=' . $id . '&ac=' . $area .'&gc='. $ct.'&results=' . $item_per_page . '&start=' . $start . '&detail=full';
$xml = simplexml_load_file( $url );
$total_count = $xml->ResultInfo->Total;
echo '<table class="left">';
echo '<caption>' . $start . '件目から' . $item_per_page . '件 表示中 / 総件数 ' . $total_count . '</caption>';
echo '<style scoped>.paging, table{width:70%;margin:auto;}td{border-bottom:1px solid #ccc;}td{color:#2980b9;}form{text-align:center;padding:2em;}
.page-link{padding:0em;margin:.2em;display:inline-block;width:3em;border:1px solid #ccc;word-wrap:normal;}h2{text-align:center;margin:1em 0;}</style>';
$html = ' <tr><th>店舗名</th><th>読み</th><th>電話番号</th><th>住所</th><th>路線</th><th>最寄駅</th><th>PCUrl</th></tr>
<tr><td>%1$s</td><td>%2$s</td><td>%3$s</td><td>%4$s</td><td>%5$s</td><td>%6$s</td><td>%7$s</td><td>%8$s</td></tr>';
$i = 1;
foreach ( $xml->Feature as $key => $item ) {
printf( $html, $item->Name, $item->Property->Yomi, $item->Property->Tel1, $item->Property->Address, $item->Property->Station->Railway, $item->Property->Station->Name . '駅', $item->Property->Detail->PcUrl1,$item->Property->Detail->Access1);
$i++;
}
echo '</table>';
?>
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
前回の<a>タグへの質問で回答があり、やってみたけどうまくいかなかったとのことでしたが、実際にどのようなコードを書いたのでしょうか?
たとえば
<td>%8$s</td>
の部分を
<td><a href=\"%8$s\">サイトはこちら</a></td>
みたいにしたら サイトはこちら の部分がリンクにならないでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/05/13 20:08