wordpress3.5に関して質問です。


wordpressで引き継ぎ検索の実装を検討しています。
実装の前提条件は下記の通りです。

1)引継ぎ検索用の検索窓をサイドバー以外の箇所すなわち全ページにおけるヘッダー、もしくは、固定ページに表示。

2)検索した後に遷移するページは、独自のテンプレートを用意してそれを反映させる。

3)検索結果は同一ウィンドウではなく新規ウィンドウに遷移。

4)引継ぎ検索機能はjavascriptで開発。

上記の前提条件で引き継ぎ検索の実装は可能でしょうか?

(注)この質問で使用している「引き継ぎ検索」という言葉の定義は下記の通りです。

引継ぎ検索とは
検索窓を用意し、そこにワードを入れて検索をするとページ遷移をして、その検索結果のリンク一覧を表示します。
(例えば、〇〇のYahoo!での検索結果 というようなリンクを表示します。)
そのリンクをクリックすると対象サイトにおけるそのワードの検索結果のページに移動します。

事例 http://258shu.com/items.php?word=ipod&x=0&y=0&ht_name=pop
     
「ipod」というワードでの引き継ぎ検索事例です。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2013/01/22 07:36:42
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taroe No.1

回答回数1099ベストアンサー獲得回数132

ポイント110pt

一部、引継ぎ検索の意味を私が誤解してる部分があろうと思いますが
基本的には、質問の内容は実現可能です。

ただ機能によってはJavascriptだけでは無理な場合はあるかと思います。

>1)
可能。
簡単な確認方法は、
サイドバーに表示されている検索部分をそのまま、ヘッダー部にコピーして
動作をみればわかるかと思います。

>2)
可能

検索結果ページを index.php などの記事一覧ページとは違う仕様やデザインにしたいときは、別に search.php というファイルを作成しましょう。これが検索結果ページとなります。

WordPressの検索機能をもっと使いやすくする
http://www.webcreatorbox.com/tech/wordpress-search/


search.phpに独自のテンプレートを作成すればよい

>3)検索結果は同一ウィンドウではなく新規ウィンドウに遷移。
可能

>4)引継ぎ検索機能はjavascriptで開発。
Javascriptだけでというのはちょっと無理かも。

引継ぎ検索のデータがWordpressの記事とかデーターベース内に入ってる場合はPHPと連動しないと無理だと思う。

検索するデータがAmazonとかYahooとかのWEBAPIを使用するという意味なら、Javascriptだけでも可能な場合が多い

id:mkusume

丁寧な回答ありがとうございます。引き継ぎ検索のデータはwordpressの記事ではなく、お察しの通りアフィリエイト関係APIを使いその先のデータベース内から検索結果を表示する予定です。

2013/01/16 17:08:17
  • id:rouge_2008
    1~3は前回の質問で回答した通りです。
    http://q.hatena.ne.jp/1358228478#a1185583

    1)ヘッダーに表示する場合は「header.php」、固定ページに表示する場合は「page.php」の任意の場所に「get_search_form()」を記述します。

    -----------------------------------------------------------
    WordPressでは、検索フォームを表示したい箇所で「get_search_form()」を実行しますが、「searchform.php」がある場合は、このファイルの内容を表示しますので、利用中のテーマに「searchform.php」がある場合は、このファイルのコードを変更し、ない場合は作成します。

    ~ (略) ~

    ※あるいは、利用中のテーマの「functions.php」に記述する方法もあるようです。(※次の記事の冒頭を参照してください。)
    http://www.webcreatorbox.com/tech/wordpress-search/

    -----------------------------------------------------------


    2)「search.php」または「index.php」(※条件分岐必須)に「get_template_part()」で任意のテンプレートを読み込みます。

    -----------------------------------------------------------
    検索結果は「search.php」で表示する仕組みになっていますので、「search.php」の変更は必須です。
    独自に好きな名前のテンプレートを読み込ませる場合は、「get_template_part()」を利用して次のようにします。

    ~ (略) ~

    ※「search.php」が無い場合は、「index.php」で表示しますので、「index.php」で条件分岐して表示させる事も可能です。(※この場合の条件分岐は「if( is_search() ) ~」のようになります。)

    -----------------------------------------------------------


    3)検索フォームのformタグに「target="_blank"」を指定する事で可能です。
    フォームのコードは、「searchform.php」または利用中のテーマの「functions.php」に記述するといいです。
    ※詳細は、1)への回答および前回の回答を確認してください。

    -----------------------------------------------------------
    formタグにtarget属性を指定する事で可能になります。
    http://webapp.winofsql.jp/webclass101128152158.htm

    -----------------------------------------------------------


    ※共通)WordPressの各テンプレートファイルの役割とテンプレートを適用する仕組み(優先順位)について、ドキュメントを確認して置くといいです。
    http://wpdocs.sourceforge.jp/テーマの作成
    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4


    4)既出の回答にある通り可能なはずですが、特に理由がないのでしたら、PHPでAPIを利用して、表示のみjavascriptで調整するといいように思います。
  • id:mkusume
    詳細な説明ありがとうございます。かなり参考になります。
  • id:mkusume
    ちなみに使用するテーマはtwenty-elevenです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません