marseditでwordpressのall in one seo packを使う方法

marseditでwordpressのall in one seo packを使う方法の紹介です。
よくwordpress本体のプログラム(コアファイル)修正をする方法を紹介されている記事を見かけるのですが、この方法だとwordpressのアップデート毎に修正を行わないといけないので、かなり効率が悪い為違う方法をご紹介します。

marseditの設定

ブログ設定画面にあるカスタムフィールドの箇所に、

keyword用のカスタムフォールド「_aioseop_keywords」

description用のカスタムフォールド「_aioseop_description」
を入れます。
※「_aioseop_keywords」「_aioseop_description」は、「all in one seo pack」が投稿画面で使用している隠しカスタムフィールド名です。

もしわからない場合は、下記画像のように入れてください。

marseditの設定画面

正常に設定ができるとmarsedit上の投稿画面が下記のようになります。
title,tagの下に「キーワード」「ディスクリプション」が追加されます。

marseditの投稿画面

「functions.php」にコードの追記

function is_my_protected_meta( $protected, $meta_key, $meta_type = null ) {

  $protected = ( $protected && ( strpos( $meta_key, "_aioseop" ) === false ) );

  return $protected;
}
add_filter( 'is_protected_meta', 'is_my_protected_meta', 10, 3 );

このコードを「functions.php」内に記述してください。もし、「functions.php」がない場合は、使用中themaのルートディレクトリにこのファイルを新規作成してください。
※「functions.php」は、wordpressで使いたいプログラムや設定などを記述しておくファイルです。自動で読み込んでくれます。

このコードの意味は、wordpress上に「all in one seo pack」をインストールすると投稿画面に「_aioseop」から始まる隠しカスタムフィールドが複数出現するのですが、そのフィールドはプロテクトがかかっているので通常は「all in one seo pack」を通さないと修正ができない状態です。
上記のコードは、「_aioseop」から始まるカスタムフィールド名のプロテクトを解除する為のコードが上記のコードになります。

※wordpressの仕様で「_」から始まるカスタムフォールドは、隠しフィールドになりプロテクトがかかります。
※「is_my_protected_meta」の部分は好きな名前(半角英数)にしても大丈夫です。

以上の方法でmarsedit上でも「all in one seo pack」が利用できるようになります。

参考記事