Jul 05

WordPressでSQLite使用。Google SitemapGeneratorは編集必要です

php, wordpress, xml コメントはページの下に

WordPress & SQLite

WordPressはご存じのとおり、PHP+MySQLという構成ですが、未だレンタルサーバの中にはMySQL未対応のがあったりします。(今回とあるWebサイトWordPress化でこんなことになりました)

ちょっと衝撃を受けつつも、なんとかしなければ。

WordPressでは、PDO(SQLite)For WordPressでDBを選ぶことが出来るようになります。
プラグインで対応できるようです。

PDO(SQLite)For WordPressを導入する

 PDO(SQLite)For Wordpress

設定については以下のサイトを参考にしました。簡単ですねぇ。

私の環境(さくらインターネット スタンダードプラン)では、ダウンロードして、WordPress2.8の指定したディレクトリに入れてで簡単にできました。
いくつかのサイトには、yourhome/wp-includes/wp-db.php L.318 の
$this->dbh=@mysql_connect($dbhost, $dbuser, $dbpassword, true );
の1行をコメントアウトすると書いてありましたが、そんなことせずにOKでした。

wp-config.phpのDB_USERとDB_PASSWORDを適当に変更しておきましょう。

Craftworks Tech Blog >> WordPress のSQLLite対応
http://www.craft-works.co.jp/blog/archives/40

crossover
http://ortk.main.jp/blog/?tag=sqlite

SQLiteを使っているかどうかの確認

yourURL/wp-content/database/MyBlog.sqlite

が書き込みの度に更新されていれば、MySQLではなくSQLiteが使われていることになります。

プラグインも対応しているか?

自分がよく使っているものに関して。

Google Sitemap Generator
http://wordpress.org/extend/plugins/google-sitemap-generator/

今や、WordPressに入れるプラグインとしてはこれは欠かせないとも言われている、Google Sitemap Generator。
これは、ちょっと厳しそうです。
mysqlというキーワードで、ファイル内を検索すると、数か所に出てきます。
なので、SQLiteをDBとしている場合は、このmysql_connect(..)などを書き替えなければなりません。

書き換えるのは結構簡単です。sitemap-core.phpのL.1850付近をちょこちょこ書き換えるくらいで済みます。
しかし、何故かそれだと記事が全然sitemap.xmlに反映されなかったので、LoadOption()をいじりました・・・
(やりたい人は上記のヒントにならないようなヒントで頑張ってください)

All in One SEO Plugin Options
http://wordpress.org/extend/plugins/all-in-one-seo-pack/

このサイトでは別のものを使っていますが、今回のWordPress移行作業ではこれを使うと思うので。
これは、mysqlのキーワードがなかったので大丈夫でした。

Plugin上でDBにアクセスする必要がある時は

wpdbクラスを使うと便利です。
使っているプラグインのphpファイルを検索してみると、DBにアクセスする関数ではglobas $wpdb;宣言がされていると思います。詳しくは下を。

wpdb class

日本語は以下サイトが参考になります。
Sun Limited Mt. WordPressの設定を使ってデータベースにアクセスする方法

前後の記事

関連した記事

トラックバック&Pingback

この記事が気に入ったりした方は、自分のブログを書くときに「下のURLをコピーして、自分のブログ投稿時のトラックバック欄にペースト」してください。つながります。
URL:

  1. WordPress2.9とMySQLバージョン - 紺碧の空2~札幌カフェ・グルメ日記とブログツール初心者のつぶやき~ Says:

    […] WordPressでSQLite使用。Google SitemapGeneratorは編集必要です […]

コメント ( 2 )

  1. sae Says:

    すみません・・・

    > sitemap-core.phpのL.1850付近を書き換え
    > LoadOption()をいじりました・・・

    せっかくの大きなヒントなのですが、
    色々と調べて挑戦しているのですが、答えがわかりません。

    教えていただけないでしょうか・・・
    よろしくお願いいたしますm(._.)m ペコ

  2. 小山太郎@管理者 Says:

    saeさん、はじめまして。

    ここは仕事での事もあり、記事に書いたくらいまでで限界なんです^^;

コメント記入欄

Copyright(c) 小山太郎.com All rights reserved.