Yomi-searchにwordpressデザインと関数を呼び込む (覚書)


今まで気になっていてなかなかできていなかったYomi-searchのデザイン変更。
Yomi-searchのtemplateファイルは、拡張子htmlなんだけど実はphpファイルということを確認してから、3カラムのCSSを使ったデザインに変更していました。
ローカル環境でテストしてうまくいったのですが、今度はどうせ変えるなら、ブログで使っているwordpressのデザインをYomi-searchのデザインに使えないかと思いさらに試行錯誤。

1、まず、wordpressには、外部PHPからWordPress関数を利用する方法がある。
 「http://emylo0.com/」さんのサイトの2011/12/09 の記事に書いてあったのでローカル環境で試してみた。
wordpress以外のphpファイルに

require('/[wordpressをインストールしたディレクトリー]/wp-blog-header.php');

とすると、wordpressの関数が実行できる。
2、wordpressのテーマを決めて、yomisearch用のheadrファイル、side-bar-rightファイル、footerファイルを作成しそれぞれheader-yomi.php,sidebar-right-yomi.php,footer-yomi.phpを作成する。leftメニューは、wordpressとのメニューと共通にするのでデフォルトで使うことにする。
3、yomi-serchのテンプレートファイルをヘッダー、左サイド、本文、右サイド、フッターに分けて
作成。元のファイルは残しておいてエラーが出た時の復旧に使う。
4、top.htmlは次のような構成になる。

<?php
get_header(yomi);
   get_sidebar();
?>
<div id="content">
本文
<div>
<?php
get_template_part('sidebar-right_yomi');
get_footer(yomi);
?>

5、これでとりあえずtop.htmlとcategory.htmlを組み替えて実験してみた。
6、データベースエラー。wordpressのデータベース内にありませんというエラー。
7、調べると、データベースの競合から起きるエラー。本文のデータベースを呼び出す部分では、

mysql_connect("[yomi-searchデータベース名]", "[ユーザー名]", "[パスワード]") or die("DB接続エラー");
mysql_select_db("[yomi-searchデータベース名]") or die("DB接続エラー");

として、Yomi-searchのデータベースに接続する必要がある。
8、右サイドからもう一度wordpressの環境を取り入れるので再度wp-blog-header.phpを記述。

<?php
require('/[wordpressをインストールしたディレクトリー]/wp-blog-header.php');
get_template_part('sidebar-right_yomi');
get_footer(yomi);
?>

9、外部ファイルなので、wordpress内でプラグインを導入しないと使えないphpコードが本文に使用できる。