前回紹介したショートコードを定義する方法では、テーマファイルのfunctions.phpにショートコードを記述していた。
しかし、この方法だとテーマを変えるごとにfunctions.phpの修正も必要になってしまうので柔軟性があるとは言えない。
実は、ショートコードはプラグインにも定義できる。プラグインに定義しておけば、テーマを変えるごとにfunctions.phpを修正する必要は無いし、管理画面で有効/無効を切り替えることができる。そのような理由で、ショートコードを使いたいときはプラグインを作った方が良いかもしれないと思った。
以下はプラグインに定義したショートコードの例である。お決まりのプラグインヘッダを記述した後、これまでfunctions.phpに書いていた内容をそのまま記述するだけである。
myplugin2.php
<?php
/*
Plugin Name: MyPlugin2
Plugin URI:
Description: これは私が次に作ったプラグインです。「mypluginfunc」というショートコードを追加します。
Author: zawata
Version: 1
Author URI: https://zawapro.com
*/
function my_plugin_func($atts) {
extract(shortcode_atts(array(
'arg1' => 'default arg1',
'arg2' => 'default arg2',
), $atts));
return "argument1:{$arg1} argument2:{$arg2}";
}
add_shortcode('mypluginfunc', 'my_plugin_func');
?>
後はこのファイルをWordPressのプラグインフォルダにアップロードし、管理画面でこのプラグインを有効にするだけで「mypluginfunc」というショートコードが使えるようになる。