wordpressで新規投稿画面でツールバーが消えた・・・

wordpressで新規投稿画面を開くとツールバーが消え表示されなくなっていた
こんな感じ・・

wordpress ツールバー 消えた
wordpress ツールバー 消えた

なんで??と思って調べるとココのサイトにwp-includes wp-adminを入れ直すと治ると書いてあったのでやってみた・・・・。
治らなかった・・・orz

プラグインが怪しいと書いているサイトも有ったので見てみたが該当のプラグインは使用していない・・・
しかし、念のため一つずつ停止して確認していくとあったよ・・・
このサイトでは「WP Multibyte Patch」が悪さをしていたらしい

なおってよかった。

wordpressの管理画面に入れなくなった。

ふと気が付くとwordpressの管理画面に500エラーが表示されて入れない・・。
nginxのログを見てみるとこんな感じのログが

2016/08/02 21:30:18 [error] 27361#27361: *49 FastCGI sent in stderr: "PHP message: PHP Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /home/hoge/html/wp-includes/plugin.php on line 601
PHP message: PHP Warning: Illegal string offset 'remember' in /home/hoge/html/wp-includes/user.php on line 41
PHP message: PHP Warning: Cannot assign an empty string to a string offset in /home/hoge/html/wp-includes/user.php on line 41
PHP message: PHP Warning: Illegal string offset 'user_login' in /home/hoge/html/wp-includes/user.php on line 56
PHP message: PHP Fatal error: Uncaught Error: Cannot create references to/from string offsets in /home/hoge/html/wp-includes/user.php:56
Stack trace:
#0 /home/hoge/html/wp-login.php(784): wp_signon('', '')
#1 {main}
thrown in /home/hoge/html/wp-includes/user.php on line 56" while reading response header from upstream, client: 39.110.133.53, server: hogege.net, request: "GET /wp-login.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "hogege.net"

wp_signon('', '')の記述がよくないよう

フォーラムにも同様の事例が書いてありました。
なのでwp-login.phpの以下の場所を修正すると入れるようになりました。

$reauth = empty($_REQUEST['reauth']) ? false : true;

// $user = wp_signon( '', $secure_cookie );
$user = wp_signon( array(), $secure_cookie );

if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {

よかった。

wordpress jquery colorboxが動かなくなっていた。

wordpress jquery colorboxが動かなくなっていたので調べてみた。
プラグインの競合もなし・・・。
読み込んでるライブラリなども問題なし・・
lightbox pluginにしても動かない。。。

数日悩みましたが原因がわかりました・・・・

jquery lightbox 動かない
jquery lightbox 動かない

上の画像の様に投稿する際の設定が変わっていました。
リンク先の設定が
「添付ファイルのページ」になってるのが原因で画像をクリックすると別ページに飛んでいました。

正しくは、リンク先の設定を「メディアファイル」にしたら
wordpress jquery colorbox pluginが正しく動きました。

いつから設定変わったんだろ・・ すっごく悩んだけど治ってよかった。。。

wordpressの自動更新が出来なくなったので対処

wordpressの自動アップデートが出来なくなってしまったので調べてみた。
プラグインでアップデートチェックをするプラグインなんて有ったので入れてみた。
「Background Update Tester」というらしい。
実行するとチェックが走る。
僕の環境では、3個目のチェックがエラーになった。

表示されたエラーは↓

FAIL: Your installation of WordPress prompts for FTP credentials to perform updates.
(Your site is performing updates over FTP due to file ownership. Talk to your hosting company.)

FTPがうまくいってないっぽい・・昔はできてたんだけどなあ。
調べていくと「wp-config.php」に以下の情報を追記する必要が有るようだ

define('FTP_USER', 'user');
define('FTP_PASS', 'pass');
define('FTP_HOST', 'localhost');

これを入れた所、すんなりいきました。
前は、いらなかったはずなんだが・・・

wordpressのログインパスワードを忘れたら。

サイトの移行やらうっかりで、wordpressのログインパスワードを忘れた時のメモ

パスワードを忘れた時、登録したメールアドレスに新パスワードをおくってもらえますが
それすら忘れてしまったときは、
phpmyadminでも何でも良いので対象DB上のwp_usersテーブルにユーザー情報が格納されているので
その中のuser_emailカラムを確認、もしくは使えるメールアドレスに修正すれば大丈夫。

wordpressサイトのサーバー移行

以前、別ドメインで稼動していたwordpressサイトを移行したのでメモ。

僕がやった方法は、
移行先のサーバーに新規にwordpressをインストール
その後、wp-content以下をバックアップからコピー
DBデーターをリストア
phpmyadminでも何でもいいのでURLが変更されるので移行先のURLにDB上で変更を加えます。
  
対象は、wp_optionsテーブルのsiteurlカラムにサイトのURL情報が記録されているので、その値を移行先のURLに変更します。

次にwordpressのプラグイン「Search Regex」をインストールします。
これは、DB上のデーターの置換をしてくれます。
別にsqlでやっても良いです。

対象はwp_postsテーブルのpost_contentカラムです。
ここに投稿の情報が載ってます。

↓の画面で置換元・置換先を指定して実行します。

wordpress移行 Regex
wordpress移行 Regex

このままでもサイト自体は表示可能になったと思いますが
トップページ以外は表示されないと思います。
移行元サイトでパーマリンクが指定されていた場合表示されない事が多いようです。
移行元のサイトがパーマリンクを使用していた場合、パーマリンクの設定をデフォルトで保存しなおしたら僕の場合は表示されるようになりました。

一通り動作を確認したら終了です。