WordPressで英字を大文字に自動変換しない

タイトルなどで英字の小文字が大文字に自動変換されてうざいので、記述のまま行くようにする修正。
該当テーマのstyle.cssにある
text-transform: uppercase;
をすべて削除。数が多いので管理画面からでなく、テキストエディタで一斉置換して上げ直した方が早い。

WordPressコメント欄削除

新規投稿に関しては

管理画面>「設定」>「ディスカッション」、ここで”新しい投稿へのコメントを許可する”のチェックをはずす。

既存投稿に関しては

管理画面>「投稿」>「投稿一覧」>編集の必要な投稿の画面、ここで、右上の「表示オプション」を開き、”ディスカッション”にチェックを入れる。そうすると画面下部に、”コメントの投稿を許可する。”のチェック欄が出てくるので外す。
*『「表示オプション」を開き、”ディスカッション”にチェック』に気づかずハマったのでメモ。

*今後もコメントを受け付ける気はないのでデフォルトで付いていたコメント表示のウィジェットもついでに削除。そのついででさらにメタ情報と検索のウィジェットも削除。

PDO for WordPressからSQLite Integrationに変更

このサイトで使用しているWordPressのプラグインをPDO for WordPress から SQLite Integration に変更した。

SQLiteを使用するためにPDO for WordPressを使ってきたが、バージョンアップの度にuser.phpを書き換える必要があったのが面倒だった。メンテナンスもされていないプラグインをいつまでも使うのはなぁと思っていたところ、新しくSQLite Integrationが出た。別サイトでしばらく使っていたが特に問題は出なかったので、このサイトも入れ替え。

やり方は公式サイト通りで特に問題はなし。データーベースを名前を換えそのまま使う方法も書いてあったが、無難にデータは、エクスポートし、それを入れ直したWordPressにインポートした。

ついでにテーマも最新のものに変更した。今のところテーマは完全にデフォルト、新たなプラグインもなし。

同一カテゴリの記事一覧を表示する

同一カテゴリの記事一覧を表示するのに、最初はサイドバーに入れたくてプラグインを探しWidgets of Posts by Same Categoriesを入れたがしっくりこないので、テンプレートをいじって記事の下に入れる方法を採用した。

個別記事用のテンプレートsingle.phpに以下を挿入

<?php
$categories = get_the_category();
foreach($categories as $category):
$related_posts = get_posts(array(‘category__in’ => array($category->cat_ID), ‘exclude’ => $post->ID, ‘numberposts’ => $post->ID, ‘numberposts’ => -1));
if($related_posts): ?>
<h3>関連ページ</h3>
<ul>
<?php foreach($related_posts as $related_post): ?>
<li><a href=”<?php echo get_permalink($related_post->ID); ?>”><?php echo $related_post->post_title; ?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; endforeach; ?>
<hr>

bug fix

http://www.tiu.ac.jp/~sato/w00/archives/376
にある2つを入れてみる。
1 wp/wp-content/pdo/db.php:132 に追記
// added by sato
$pattern = ‘/^DESCRIBE/i’;
if (preg_match($pattern, $query, $matches)) {
return null;
}
$pattern = ‘/^(.+) DATE_SUB( NOW(), INTERVAL ([0-9]+) DAY )(.*)/i’;
if (preg_match($pattern, $query, $matches)) {
$query = $matches[1] . ” date(‘now’, ‘-” . $matches[2] . ” day’)” . $matches[3];
}

2 wp/wp-includes/user.php:874 【本体修正】
874行目の$strategyをtimeからmemoryに
これは本体修正であるため、自動アップデートしたときは再度設定する必要がある。
$strategy = ‘memory’;

**この修正で日々で最初のアクセス時に出ていたエラーが出なくなった気がする。

BackWPup

SQLiteを使っているので、バックアップはFTPで全部ダウンロードすればOK。バージョンアップをしているの、まずは全体のダウンロードをファイルマネージャーからした。
普段のデータベースとアップロードする写真等は、他のWPで使っているのと同じBackWPupを入れて自動化することにする。
必須のDETABASEは/wp-content/databaseMyBlog.sqlite、これとプラグインリストを毎日GMAILに飛ばす設定にした。
テスト送信は成功、ちゃんと動くなら自動なのでこれが良い。
CSSやテンプレートをいじった時はその都度飛ばす? 今は未定

*動いてはいるが、エラーも出ておりサーバーに負荷がかかっていそうなので使用中止。しばらくは手動バックアップ。

 

WordPress + SQLite のインストール

1    WordPress 2.9.2-ja (最新版ダメ)とpdo-for-wordpress 2.7をダウンロードして解凍
2    本体のwp-contentフォルダにpdo-for-wordpressの中身をコピー(readme.txtなしでOK)
3    wp-content/pdo/db.php の117行目を次のように修正。
return addslashes($string); から return parent::escape($string);
3    wp-config-sample.phpをwp-config.phpにリネームし、40行目くらいに
define(‘DB_TYPE’,’sqlite’);
を挿入。
4    アップロード
5    サイトアドレス+wp-admin/install.phpからオンラインで指示通りにメールアドレスなどを入れるとインストール完了。
6    WordPressを最新の3.51に更新。
7    wp-includes/category-template.php の「’hide_empty’ => 1」を「’hide_empty’ => 0」に変更する。

MySqlの設定がない分普通のよりも楽だった。