phpで検索結果を画像表示させるには

このQ&Aのポイント
  • wordpress3.1でサイトを運営しています。プラグインは、「wp-kougabu」を使っています。
  • wordpressの検索窓で入力したキーワードを検索結果のページにて、そのページにある写真画像を表示させていのですが、phpでどのように記述すれば良いでしょうか?
  • ショートコードではなく、phpでページ内に埋め込みたいのですが、検索窓のキーワードを取得してから、プラグインを利用して、検索結果に画像を表示されるまでのphpが解る方いらっしゃいましたら、宜しくお願いします。
回答を見る
  • ベストアンサー

phpで検索結果を画像表示させるには

wordpress3.1でサイトを運営しています。 プラグインは、「wp-kougabu」を使っています。 wordpressの検索窓で入力したキーワードを検索結果のページにて、 そのページにある写真画像を表示させていのですが、 phpでどのように記述すれば良いでしょうか? wordpressの検索キーワードの取得は、以下で取得できます。 <?php the_search_query(); ?> また、プラグインを使ってページ内に画像を表示されるには、 ショートコードの以下を使うと表示できます。 [kougabu max_width=120max_height=120 columns=5 start=0 count=20 title='ここに検索のキーワードを入れる'] ショートコードではなく、phpでページ内に埋め込みたいのですが、 検索窓のキーワードを取得してから、プラグインを利用して、検索結果に画像を表示されるまでのphpが解る方いらっしゃいましたら、宜しくお願いします。

  • PHP
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

おっと、最後の方の「\'」が余計でした。 $short_code = '[kougabu max_width=120max_height=120 columns=5 start=0 count=20 title=\''.the_search_query().'\']';

cocora9
質問者

お礼

解決できました。こんな地震のタイミングで お手数おかけしました。 有難うございます。

その他の回答 (2)

回答No.2

search.php がどのようなテンプレートになっているのかわかりませんが、 the_excerpt();の後ろ辺りに追加。 <?php the_excerpt(); $short_code = '[kougabu max_width=120max_height=120 columns=5 start=0 count=20 title=\''.the_search_query().'\']\''; echo do_shortcode($short_code); ?> 実際に動かしていないので、きちんと動くかは保証できません。

回答No.1

do_shortcode() を使えば、PHP からショートコードを呼び出せます。 <?php echo do_shortcode('[ショートコード]');?> これを search.php に埋め込めばよいのではないでしょうか。 詳細は、 http://wpdocs.sourceforge.jp/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89_API

cocora9
質問者

補足

早速のご回答、有難うございます。 それは、良い方法ですね。 試してみようかと思ったのですが、 <?php echo do_shortcode('[ショートコード]');?> の際、 どうやって、検索キーワードを、そのショートコードに代入すれば良いのでしょうか? そのphpが解らなかったもので、すいません、再度、ご質問いたします。

関連するQ&A

  • Google検索結果でテキストと一緒に画像を表示

    よろしくお願い致します<(_ _)> 僕は普段WordPressでサイト制作を行っているのですが、Google検索結果において、添付画像のようにテキストと一緒に画像を表示させたいのですが出来なくて困っております。 これはYeast SEOというプラグインにおける画像の設定部分なのですが、このプラグインで設定しても検索結果に画像は表示されません。 プラグインもしくはphpプログラミングによって、検索結果に画像を表示させる方法があれば教えて頂けないでしょうか?

  • wordpressでサイト内検索結果が表示されない

    twenty fourteenのサイドバーに検索(標準)がついていたのですが、 文字列を入れて検索しても検索結果が表示されず、topページに遷移してしまいます。 他のテンプレートに変えても同様の現象になってしまいます プラグインは全て停止していますし、wordpressは最新のバージョンです search.phpを作ればいいとgoogleで調べたら出てきたのですが そもそもtwenty fourteenのテンプレートにはsearch.phpがあり ここに何を記述すればいいのかわかりませんし、 他のテンプレートでも同様の現象が起こるのですが どのように解決すればいいのでしょうか? よろしくお願いいたします

    • 締切済み
    • PHP
  • PHPのサイト内検索の結果をCSVに書き出すには

    Webサイトのサイト内検索が、どれくらい使用されているか調べるため、 検索結果をCSVで書き出したいと考えております。 php初心者のため、苦戦しております。 詳しい方がいらっしゃいましたら、ご教示ください。 サイトはCodeIgniter(コードイグナイター)を使用しており、PHP5.3.3です。 サイト内検索の仕組みは、form actionを使用しており、 htmlに記載のコードは以下です。 ------------------------------------------------------------------------------------------------------- <form action="search.php" method="get" data-form-id="keyword_webcode-search"> <input name="keyword_webcode" type="text" value="" rel="キーワード検索出来ます。"><br> <input type="submit" value="データを送信"> </form> ------------------------------------------------------------------------------------------------------ データ送信先のsearch.phpに書き出すためのコードを追加しておりますが、 何も起こりません。 コードを追加するファイルが間違っているのでしょうか? 追加したコードは以下です。 ------------------------------------------------------------------------------------------------------- $csv = fopen('file.csv', 'a'); fputcsv($csv, $ShiftJIS); fclose($csv); ------------------------------------------------------------------------------------------------------- 色々試してみましたが、うまく行かず行き詰まっています。 どなたかアドバイスいただければと思います。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • htmlからのphp結果表示

    お世話になります。 掲題の件での質問ですが、行き詰まったので教えてください。 現在、以下の処理をしていますが (1)phpにてrss結果を取得し、echoにて出力 (2)htmlにて、(1)の結果を<iframe>にて取得して表示 (2)にて、インラインフレームではなく、通常の文章ライクに表示したいのですが 受け取り方、表示の仕方がわかりません。。。 <?php include("xxx.php"); ?> としても何も表示されないので困っています。 よろしくお願いします。

  • jqueryのloadを使って検索結果を表示させたいと思っているのです

    jqueryのloadを使って検索結果を表示させたいと思っているのですが $('#search').load('/search.php?keyword=歯', null, function(){ 上のようにloadで検索するphpを呼び出して表示させているのですが keywordの値に「歯」などの特定の漢字の場合、loadできないのですが どのような原因が考えられますでしょうか。 文字コードはutf-8でurlencodeした状態で渡しても上のように直接渡してもloadされない状態です。 search.phpは単体でちゃんと動作する事を確認しております。 http://~~/search.php?keyword=歯 http://~~/search.php?keyword=%E6%AD%AF でアクセスするとちゃんと正常に結果が表示されます。 これをajaxのloadで呼び出すとphp自体呼び出すこともできていない状態になってしまうようです。 (テストで呼び出す側のphpにprint文だけを書いたのですが表示されなかったので 呼び出しすら出来ていない状態になっているようです) keywordの値によってはちゃんと結果がloadされるのですが、 「歯」「会社」など、キーワードによってはなぜかloadされなくなってしまうようです。 エンコードしてもダメ(受け取り側でもデコード)で原因がどうしてもわからないのですが、 何か考えられる事がございましたらご教授いただけますと幸いですm(__)m

    • ベストアンサー
    • AJAX
  • wordpressのプラグイン 一覧表示

    wordpressのプラグインに関しての質問です。 はじめての投稿ですがよろしくお願い致します。 ショートコードで貼り付けた場所に、 指定したページのIDの、アイキャッチ画像、抜粋(要約した文章 )、タイトルを表示させるプラグイン(無料の) を探しているのですが、お心あたりのある方は、教えて頂けませんでしょうか? よろしくお願い致します。 商品一覧ページを作りたいと考えております。

  • PHPで検索ボタンを押さずに検索結果を返したい

    初めて質問させていただきます。 今、独学でPHP・MySQL・HTMLを使って、 検索結果を表示する画面を作っています。 作っているプログラムは、こんな感じです。 ================================================ xxx.php ================================================ <?php ここで、入力のエラーチェック MySQLに接続 入力したコードに対応するデータを取得 ?> <html> <form action="xxx.php" method="post"> <input type="text"> <select name="XX1"></select> <select name="XX2"></select> <input type="submit" name="submit" value="検索"> </html> ================================================ このプログラムでは、テキストタイプの部分にコードを 入力し、selectの部分で各項目を選択して、 最後に検索ボタンを押すと、 エラーチェックをした後に、検索結果のデータを データベースから取得してHTMLで表示します。 毎回、検索ボタンを押すという動作を減らすため、 SELECTの部分が変わったら、 検索ボタンを押さなくても、上のPHPで記述されて いる部分の処理に飛ばす方法がないかなあと 思いまして質問しました。 イメージ的にはJavaScriptの、onchangeみたいなものなのですが、何かいい方法は ないでしょうか? 以前似たような質問があったかもしれませんが、 すみませんがよろしくお願いいたします。

    • ベストアンサー
    • CSS
  • グーグル検索結果に表示されたり表示されなかったり

    私が作成したWebサイトなのですが、スマートフォンからキーワード入力してグーグル検索結果を見ると表示されたり表示されなかったりします。 30分前は検索結果の一覧に表示されていたのに、30分くらいたってからキーワード入力して検索結果をみると、どこにも(10ページ目以降にするも)表示されておりません。 ちなみに、パソコンからの検索結果には、常に表示されております。 パソコンでもスマートフォン(表示されている時)の検索結果の順位は2ページ目の真ん中あたりです。 スマートフォンサイトについては、スマホ対応も行っております。 何かわかるかたがおりましたら、教えて頂けないでしょうか?

    • ベストアンサー
    • HTML
  • POSTで表示される検索フォームの結果の取得

    こんばんは。 とある外部サイトのサイト内検索スクリプトの検索結果を 取得しようといろいろと努力しているのですが、うまくいきません。 具体的には、そのサイトの検索スクリプトにフォームから MethodをPOSTにしてキーワードを送信すると、その結果が表示されるというものです。 しかし、その表示された結果を自分のサイトのPHPスクリプト から取得しようとしているのですが、何をしても叶いませんでした。 その検索スクリプトがGETメソッドで処理してくれるなら、 $keywords = "Search text"; file_get_contents("http://example.com/search.php?s=".$keywords); こんな感じで取得できると思うんです。 PHP初心者なので何を言っているのか分からないかもしれませんけど よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 検索結果をgoogleのように数件ずつ表示

    データベース初心者で申し訳ないのですが、質問失礼いたします。 googleのような検索結果ページで、検索結果を3件ずつ表示し、改ページ(?)をさせたいと思っております。 【web表示例】 1ページ目 3件表示/20件中表示 +------+------+---+ | name | anime | age | +------+------+---+ | サザエ | サザエさん | 24 | | マスオ | サザエさん | 29 | | タラオ | サザエさん | 3 | +------+------+---+ 1234567 //ページ数へのリンクですが、現在表示されている「1」にはリンクをさせません ※あらかじめLIMITで1~3件、4~6件を表示させるというページを作っているやり方でなく、  検索結果を自動で1ページ、2ページと振り分けてくれるものと考えています。 現在作成しておりますPHP部を、抽出条件など省いてはおりますが下記に表記させていただきました。 <?php //データベース接続 省略・・・ //検索ワードを取得 $keyword = $_POST['keyword']; $sql = "SELECT * FROM TABLE1 WHERE '%".$keyword."%' ORDER BY age "; $result = executeQuery($sql); //結果セットの行数を取得する $rows = mysql_num_rows($result); if($rows){ while($row = mysql_fetch_array($result)) { $tempHtml .= "<tr>"; $tempHtml .= "<td>".$row["name"]."</td><td>".$row["anime"]."</td><td>".$row["age"]."</td>"; $tempHtml .= "</tr>\n"; } $msg = $rows."件のデータがあります。"; }else{ $msg = "データがありません。"; } mysql_free_result($result); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <?= $msg ?> <table> <?= $tempHtml ?> </table> </body> </html> 他HTMLで検索したあと、上記1ページで検索結果を表示しています。 ○件ずつ表示・・・というのは、難しいと調べている時にありましたが、 もっと理解してからでないととは思ったのですが必要となり自分なりに調べて試したものだけでは解決にならず質問の方させていただきました。 が、やはり初心者には難しいでしょうか?? ちなみに、調べていて「CGIで・・・」というものも多かったのですが、 検索ページがPHP+MySQLで作られているので、同じものでと考えています。 今使用しているものがPHP+MySQLなので、こちらでできればと思っております。 何卒宜しくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう