[WordPress]WordPressには標準でサイト内検索ができる機能がありますよね。テンプレートフォルダ内のsearch.phpとsearchform.phpを使えば簡単に実装することができると思います。検索キーワードを詳細に設定する場合、AND条件やOR条件を考慮し、最適な検索方法を検討すると思います。functions.php内を編集し、作りこまないといけないですよね。意外と検索ロジックを作成するだけで大変だったりします。そこで、WordPressで辞書ツールなど利用し、高度な検索機能を実装できないか調べましたが、プラグインどころか全く情報がありませんでした。そこで、PHPに対応した辞書プラグインを独自に組み込み、強力な検索機能を実装しました。利用した辞書ツールは「Igo」というものです。Igoって何?IgoとはJavaで開発された形態素解析エンジンのことです。するという具合に形態素解析によって品詞分解することができます。JavaはJVMという閉鎖空間で動作するため、他の言語やアプリとの連携時の安定性がいまいち。形態素解析を行う際、Java製のものを利用するケースが多くこの「Igo」も選択肢のひとつです。IgoはJava言語に主に利用される辞書ライブラリです。IgoはJavaのjarファイル1個で動作するという利便性があります。IgoをPHPで利用する方法IgoはJava専用の辞書ツールですが、php用に変換することもできます。igo-phpという便利なものがあり、phpで利用できるファイルに構築が可能です。必要なものは、以下の通りです。本体Mecab用辞書ファイル(IPA)igo-phpIgoをphp専用に変換する作業がやや面倒なので、慎重に行なって下さい。次のページから実装をしていきます。Igoをphp形式に変換する方法!WordPressに辞書検索機能を実装する前に、Igoをphp専用に変換します。Kit(JDK)と呼ばれるJavaプログラムが必要なので、インストールされていない方は、こちらからインストールお願いします。igo-phpでMeCab辞書を利用するigo-phpには辞書ファイルが付属されていないので、辞書機能を使用するにはMeCabという辞書を利用します。こちらから辞書ファイルをダウンロードします。ダウンロードしたら、ファイルを解凍します。Cドライブ直下にigoというフォルダを作成し、その中に解凍したファイルを移動させます。C:\igo\mecab-ipadic-2.7.0-20070801\[各種ファイル]1C:\igo\mecab-ipadic-2.7.0-20070801\[各種ファイル]Igoをコンソールからphp形式に変換する次にIgo本体プログラムを利用し、コンソール上でphp専用ファイルに変換します。Igo本体をこちら(現時点ではigo-0.4.5.jar)からをダウンロードします。jarファイルのみをダウンロードして下さいね。ダウンロードが完了したら、先ほど作成したCドライブ直下のigoフォルダに移動させます。C:\igo-0.4.5.jar1C:\igo-0.4.5.jarコマンドプロンプトを実行し、以下のコマンドを実行して下さい。EUC-JPこのコマンドを実行することで、phpファイルへの変換が開始されます。時間がかかるので気長に待ちましょう。javaコマンドを利用するには「JDK」が必要です。コマンドが利用できない場合は「JDK」のインストールができていないか、その設定に不備があると思います。「ipadic」というフォルダが出来上がっていると思います。このフォルダが辞書ツール本体になります。ipadicとigo-phpをWordPress内に配置するそれではipadicを運用しているWordPressサイトのディレクトリにコピーします。移動させる場所ですが、「wp-content」フォルダがあるフォルダ階層に配置させます。WordPressのルートディレクトリで大丈夫だと思います。次にigo-phpをこちらからダウンロードしましょう。ダウンロードが完了したら、ファイルを解凍します。その中に入っているlibフォルダをまるごと、WordPressで利用しているテーマのディレクトリに移動させましょう。/wordpress/wp-content/themes/[テーマフォルダ]/lib1/wordpress/wp-content/themes/[テーマフォルダ]/lib上記のようなパスに配置します。サイト内検索に辞書検索機能を付与する次にfunctuions.phpに以下を追記して下さい。$search);}上記を追記することで辞書検索機能を付加できます。検索フォームでスペース区切りでキーワード検索時に、OR条件を有効化するものです。2つ目のソースは、igo-phpを実行し、検索キーワードを単語ごとに品詞分解します。品詞分解された単語は配列で返ってきます。最後にスペース区切りで1つの文字として連結させてあげて、その文字列を検索ワードとして設定するプログラムです。igoが正常に動作しない時はfopenエラーが出る場合は、ソースコードの以下の部分を調整して下さい。“/ipadic”の部分は辞書ツールが配置されているフォルダパスになります。環境に合わせて、パスの記述を変更するか、辞書ツールの配置を変えるか対応して下さい。Patch」を有効してないなと、正しく動作しない場合があります。プログラム使用上の注意この記事の手順で実装したプログラムで万一不具合が発生するなどの問題が起きてもサイト運営者はその責任を負わないこととします。すべて自己責任でご利用下さい。最新の記事よっきパソコンが大好きな青年。職業はプログラマ/SE。フリーランスとしてウェブサイトの構築・保守の業務に従事。専門学校とパソコンスクールで講師も担当。幼少期からパソコンが大好きで、趣味がそのまま仕事に転じた。自作PCの魅力に惹かれたのは学生時代の頃。自作PC専門ブログで、お得な情報を紹介しています。最終更新日:2016年6月20日コメントを残す返信をキャンセルする。published)サイト上に表示された文字を入力してください。業:IT系の講師/フリーランスJavaやPHPなどを中心にWEB系エンジニアとして活動しています。自作PCの魅力にハマり、何台も組み立て経験は豊富。自作PCアドバイザー的なこともやってるので、気軽にご相談下さい!!趣味でホームページ制作をしています。お仕事の依頼をしてみませんか?WordPressテーマ・プラグイン開発、自作PC組立代行などお仕事の依頼はこちらでお願いします。Reserved.このページの先頭へ。