記事の投稿画面でタグ入力を補助してくれるWPプラグインのAddQuicktag。良く使うタグや定型文を登録しておけるので、非常に便利なプラグインです。

ですが、現在のバージョン(2.0.3)では、カスタム投稿タイプの投稿画面に表示されません。今回は、AddQuicktagをカスタム投稿タイプで使う手順を説明します。

AddQuicktagをカスタム投稿タイプで使う。

AddQuicktagタグをカスタム投稿で使うには、いくつかの方法が存在しますが、まずはシンプルにfunctions.phpにコードを記述する方法でいきます。

■使用中テーマのfunctions.phpに下記を追加
//カスタム投稿タイプでaddquicktagを使う
add_filter( 'addquicktag_post_types', 'my_addquicktag_post_types' );
/**
 * Return array $post_types with custom post types
 * 
 * @param   $post_type Array
 * @return  $post_type Array
 */
function my_addquicktag_post_types( $post_types ) {

    $post_types[] = 'my_custom_post_type';

    return $post_types;
}
赤文字・・・ AddQuicktagを表示したいカスタム投稿タイプ名に変更
緑文字・・・ファンクションに対するコメントアウトやメモ
※テーマの編集は自己責任でお願いします。不安な人は編集前にバックアップを。

functions.phpに記述する場所はどこでも構いませんが、後で誤って消してしまわないようにコメントアウトを添えておきましょう。

functions.phpの編集は、「外観⇒テーマ編集 ⇒テーマの為の関数( functions.php )」から編集できます。

 ■追加 カスタム投稿タイプが複数ある場合は、下記のようにポストタイプを追加して記述して下さい。
    $post_types[] = 'ポストタイプ名1';
    $post_types[] = 'ポストタイプ名2';

■追加02 AddQuicktagのバージョン2.2.1以降では、タグ毎に表示するポストタイプを選べるようになりました。

上記のようにfunction.phpでカスタムポストタイプを追加すると、Addquicktagの設定画面で、タグ毎にどの投稿タイプで利用するかを選べるチェックボックスが出現するはずです。

カスタム投稿タイプごとにタグを使い分けできるので、非常に便利ですね。

この方法は、AddQuicktagのWP公式ページの案内を参考にしました。

参考:If you will also the plugin for other post types you can use a filter

functions.php以外の方法でAddQuicktagをカスタム投稿で使う。

今回はfunctions.phpからフィルタを追加してAddQuicktagをカスタムポストに表示しましたが、プラグイン形式での追加も可能です。

2つの方法の違いは、functions.phpに記述するか、外部phpに記述するかの違いしかないので、全く同じ動きをします。

プラグインとして記述するメリットは、プラグインの管理画面から有効/停止を選べるようになるなること位でしょうか。functions.phpをいじりたくない人にもいいかも知れません。

プラグインとしてフィルタを追加するには、こちらのページからコードが書かれたPHPファイルをダウンロードし、プラグインとして追加+有効化することで実装できます。

この方法の場合も、コード内の'my_custom_post_type'の部分は、自分で使うカスタム投稿名に変更して下さい。

※文字コードUTF-8を編集できるテキストエディタを持ってないなら、そのままWPにアップロード後、プラグインの管理画面から編集して下さい。メモ帳でプラグインファイルを上書きすると、壊れます。

プラグインを有効化する際は、プラグイン名「Use AddQuicktag on my CPT」と表示されると思います。 

参考:Add custom post type to AddQuicktag plugin for use the plugin on custom post types

AddQuicktagのPHPを直接カスタムする

上の2つは、AddQuicktagプラグインを編集することなくカスタム投稿タイプで使う方法として説明しました。
これらの他に AddQuicktagのメインファイルであるaddquicktag.phpに直接フィルタを追加する方法でも実装可能です。

ですが、プラグインファイルを直接編集した場合は、プラグインのバージョンアップの度に追加したコードが消えてしまうので、外部から制御しておくとその辺は楽かな、と思います。

ただし、プラグインのバージョンアップによりデフォルトでカスタム投稿タイプをサポートする可能性もあるので、どちらの方法がいいかは一概には言えませんね。好みの問題です。
前の記事次の記事