[WordPress] 個別記事が表示されない


トップページはきちんと表示されるのに個別記事は「何も見つかりません」と出て表示されなくなっていました。記憶が定かではありませんがプラグインを入れてからこうなったように思います。しかしプラグインを外しても元に戻らず何でこうなってしまったかはいまだにわかりません。

応急措置として以下のページのようにやってみたら表示されるようになったのですが、

wordpressパーマリンク設定後に記事が表示されない時の対策

これだとカテゴリページのUrlが変わってしまうのでWordPressを丸ごと再インストールしたほうがいいかなぁ。面倒だけど。

WordPressが真っ白に


今まで利用していたレンタルサーバーからブログを移転したらどうやってもWordPressブログが真っ白になり苦しみました。wp-configなどの設定には間違ってないのに・・。

そこでやってみたのは、新サーバーでのDBの削除(テーブルだけでなく)。それと新ドメインの削除。新サーバーのほうで設定したものを削除して0からやり直しました。

そして再セットアップしてみるとなぜだかきちんと動くようになりました。原因はわかりませんがやっと動いてくれてハッピーです。

#1062 – Duplicate entry for key ‘PRIMARY’


phpMyAdminでは表題のエラー、Firebugには「Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064」というエラーが発生しました。

よくあるケースとしてプライマリキーが設定してあるフィールドに重複した値が入ったレコードをInsertした場合このエラーが出るのですが、私の場合Updateなのにこれが出て悩みました。

原因はwhere以降が抜けてしまっていたからでした。

× update `tbl` set ***
○ update `tbl` set *** where id = 1

where以降はif文で入れていたんですが、PHP7になり関数を変えたらオブジェクト型ではなく配列型になってしまいif文に引っかからなくてwhere以降が空になってました。

MagpieRSSをPHP7で動かすと…


 Uncaught Error: Call to undefined function split() 

というエラーが発生しました。

PHP7ではsplit()が削除されて使えなくなってるからですね。場所はrss_parse.incファイルの208行目。

list($ns, $el) = split( ":", $element, 2); 

これを以下のようにしたら今まで通り使えるようになりました。

list($ns, $el) = preg_split( "/:/", $element, 2);