WordPressを3.9にアップデート後「All in One SEO」の内容をMarsEditでも入力できるようにする方法

Marseditを使用して、WordPressを更新していらっる方はたくさんいると思いますが、今日WordPressの3.9に更新したら、All in One SEO Packの記述が反映されなくなってしまいました。

D84489d915ccb663f95600f7e2a4724f m

以前からWordPressを更新すると、「meta.php」の内容が変わってしまうので、今回も「またか」という感じで内容を書き換えたのです。

そしたら大変なことがおきました。

見たことのないメッセージが表示

無事meta.phpの記述を編集して、FTPアプリでアップロードして、WordPressのダッシュボードをこうしんしてみたところ、こんな表示が!

2014 04 17 16 46 01
完全にmeta.phpの記述がぶっ壊れているじゃないか……

さて、どうしたものか……

変化している!

今まで、Marseditを使用して「All in One SEO Pack」の記述を反映させるためには、自分のWordPress環境の中の、/wp-includes/meta.phpにある「meta.php」の中の以下の部分を変更していました。

 

function is_protected_meta( $meta_key, $meta_type = null ) {
    $protected = (  '_' == $meta_key[0] );

    return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );
}

 

これを、下記に修正

 

function is_protected_meta( $meta_key, $meta_type = null ) {

   $protected = (( '_' == $meta_key[0] ) && ( strpos($meta_key, "_aioseop") !== 0));

return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );
}

 

これで今回も大丈夫だろうと思ったら、上記のエラーメッセージ。

そこで、とっておいたバックアップファイルの中から、WordPress 3.9のmeta.phpの記述を見てみることにしました。
よく見てみると、今回のWordPress 3.9は、meta.phpの記述が変わっていました。

 

function is_protected_meta( $meta_key, $meta_type = null ) {
    $protected = (  '_' == $meta_key[0] );

 

お?記述が少なくなっている。
なので、以下のように書き換えて、再度アップし直してみました。

 

function is_protected_meta( $meta_key, $meta_type = null ) {

   $protected = (( '_' == $meta_key[0] ) && ( strpos($meta_key, "_aioseop") !== 0));

 

そうしたら!
見事に復帰。
Marseditから記事をアップしてみたら、ちゃんとAll in One SEO Packの記述も反映されていました。
よかった。

今回は割と早く原因を見つけることができましたが、見たことのないメッセージがブラウザに表示されたのでちょっとびっくりしました。

WordPressやテーマを更新する際にはバックアップをとっておきましょうね。

Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>