ホーム > WordPress > Google カスタム検索を WordPress内で表示させる「iNove」

Google カスタム検索を WordPress内で表示させる「iNove」

今使っているテーマが、iNoveというテーマになりますが、コノテーマ結構な人気で使われている人をよく見かけます。
もとは、をかもとさんが日本語訳をされているのを機に使用するようになったのですが、なかなか機能も良くてデザインも素敵です。
(最近ではよく見かけるようになったので、変更するかデザインをいじるか悩んでます。。。)

で、このテーマでは検索窓が標準で付いてくるのですが、これを管理画面からGoogle のカスタム検索に変更させることが可能です。

と、ここまでは特に難しくなく、コードも変更する必要も無いのですが、カスタム検索を自分のサイト内で表示させる方法がありました。

こっちのほうが、デザイン的にもいいですよね。きっとw

WP in Custom Search

では方法

  1. まずは当然Google カスタム検索に登録する
  2. 以下のコードを書いたcse.phpというファイルを作る。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <?php
    /*
    Template Name: cse
    */
    ?>
     
    <?php get_header(); ?>
    <div id="cse-search-results"></div>
    <script type="text/javascript">
      var googleSearchIframeName = "cse-search-results";
      var googleSearchFormName = "cse-search-box";
      var googleSearchFrameWidth =600;
      var googleSearchDomain = "www.google.com";
      var googleSearchPath = "/cse";
    </script>
    <script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>
    <?php get_footer(); ?>
  3. このテンプレートを使って新しくページを作りましょう。
  4. 次に、iNove の templates/header.php を編集します。34行目付近の
    34
    
    wp_list_pages('title_li=0&sort_column=menu_order');

    を、

    34
    
    wp_list_pages('title_li=0&sort_column=menu_order&exclude=41');
  5. さらに、46行目付近
    46
    47
    48
    49
    50
    51
    52
    53
    
    <form  action="http://www.google.com/cse" method="get">
        <div class="content">
            <input type="text" class="textfield" name="q" size="24" />
            <input type="submit" class="button" name="sa" value="" />
            <input type="hidden" name="cx" value="<?php echo $options['google_cse_cx']; ?>" />
            <input type="hidden" name="ie" value="UTF-8" />
        </div>
    </form>

    を、

    46
    47
    48
    49
    50
    51
    52
    53
    54
    
    <form  action="<?php bloginfo('wpurl') ?>/cse"  id="cse-search-box">
      <div class="content">
        <input type="hidden" name="cx" value="<?php echo $options['google_cse_cx']; ?>" />
        <input type="hidden" name="cof" value="FORID:11" />
        <input type="hidden" name="ie" value="UTF-8" />
        <input type="text" class="textfield" id="searchtxt" name="q" size="24" />
        <input type="submit" class="button" id="searchbtn" name="sa" value="" />
      </div>
    </form>

    に書き換えて完了です。

と、かなり不親切な書き方ですが、美化iNove的Google自定义搜索 – Let’s whisperを参考にしました。

カテゴリー: WordPress タグ: ,
  1. 2009 年 11 月 28 日 00:35 | #1

    はじめまして。最近WPを活用してサイトを立ち上げました。

    >>今使っているテーマが、iNoveというテーマになりますが、コノテーマ結構な人気で使われている人をよく見かけます。

    見事に私もかぶってしまいました・・・m(u_u)m

    今後ともよろしくお願いします。

  2. kohaku
    2009 年 11 月 29 日 09:39 | #2

    @yamazon
    はじめまして。
    こちらこそ宜しくお願いします。

    iNoveって、ほんと使ってるサイトよくみかけますよね。。
    テーマ自体は好きなのですが、こうもかぶると変更したくなりますw

  3. B.L
    2010 年 1 月 19 日 21:36 | #3

    カスタム検索の結果を自分のHPへ表示させたいと思いたどり着きました。

    手順の事でお聞きしたいです。
    cse.phpファイルはiNoveに置くのでしょうか?
    また
    3.このテンプレートを使って新しくページを作りましょう。
    を具体的に教えて頂けますでしょうか?

    宜しくお願いします。

  4. kohaku
    2010 年 1 月 20 日 08:56 | #4

    @B.L
    こんにちは。

    B.L :
    cse.phpファイルはiNoveに置くのでしょうか?
    また
    3.このテンプレートを使って新しくページを作りましょう。
    を具体的に教えて頂けますでしょうか?

    宜しくお願いします。

    cse.phpですが、うちでは
    wp-content/themes/inove/cse.php
    こんな感じになっています。

    3.ですが、
    僕は新規でページを作りたかったので、管理画面→ページ→新規作成 ここの画面で上記のcse.phpをページテンプレートとして呼び出します。

    最近忙しくて返信が遅れましたが、何か不明なことがありましたら再度コメント下さい。

  5. B.L
    2010 年 1 月 20 日 22:13 | #5

    @kohaku
    ご返信ありがとうございました。
    手順通り行なった所、見事に自分のHP内で検索結果を表示できました。

    ありがとございました!

  6. kohaku
    2010 年 1 月 20 日 23:51 | #6

    @B.L
    よかったです。
    僕の説明は不足がちで分かりづらいと思いますが、すこしでも参考になったのなら幸いです。

    僕もブログを更新したいのですが、なかなか時間がとれない・・・

  1. トラックバックはまだありません。