「PostgreSQL」タグアーカイブ
PostgreSQL for WordPress(PG4WP)
WordPress を PostgreSQL で使うプラグイン。
無理やり感はあるが、Posgre しかない環境では有効?
PostgreSQL for WordPress (PG4WP)
ribbon ネットワークが、正に php + PostgreSQL はあるが、MySQL がないという環境なので
自分の ribbon のサイトは WordPress + pg4wp で動かしている。
インストール方法
プラグインの設定方法も通常とは異なって、インストール前に設定する。
- WorPressファイルをサーバの正しい場所に置く
- PG4WPを解凍して、pg4wp ディレクトリを /wp-content ディレクトリの下にコピー
# 補足:/wp-content/plugins/ の下でも自動判別するみたい。 - pg4wp ディレクトリにある db.php を、wp-content にコピー
- このファイルを編集して、使いたいデータベースドライバを指定する。’DB_DRIVER’ には ‘pgsql’ または ‘mysql’ が設定可能
- DEBUG と/または ERROR log を有効にした方が良い
- Webブラウザから指定して、チュートリアルに従って WordPress をインストール
WordPress の動作確認されている最終バージョンは 3.4.2 なので、それの日本語版を入れておけば間違いない。
3.6.1(3.6から今のテーマが使える。)までは上手く動作したけれどそれ以降は試していない。
その後の顛末
3.9.3 まで行けた。インストール完了の画面でエラーが出るものの問題なく動いています。
テーマやプラグインの一部が更新できなかった。orz
対処方法は、サイトからテーマやプラグインの zip を落としてきて展開した後、
wp-content/themes/ や wp-content/plugins/ にアップロードして有効にすればOK。
本当は 4.0 ぐらいまで行けるらしいが、インストールしたサイトの PHP が 5.2.17 なので、それ以降のバージョンではインストールすらできなかった。
せめて、PHP が 5.2.4 以降だったら良かったのに・・・。
one-click-close-comments の pg4wp 対応
one-click-close-comments プラグインは、投稿や固定ページの一覧からコメントのあり・なしを簡単に切り替えられるので結構便利。
でも、pg4wp で PostgreSQL 対応した WordPress ではこれが正しく動作してくれない。 🙁
原因は wp-contents/plugins/one-click-close-comments/one-click-close-comments.php 141行目
1 |
$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET comment_status = %s WHERE ID = %d", $new_status, $post_id ) ); |
フィールド名の ID だけれど、ポスグレは基本フィールド名を小文字指定しなければならなくて、
あえて大文字で指定する時は “” でくくる必要がある。
なので下のように修正すればOK 🙂
1 |
$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET comment_status = %s WHERE 'ID' = %d", $new_status, $post_id ) ); |