WordPressでショートコードを作る

Wordpressは[hoge]みたいなのを記事中に入れると他の文字列や機能に自動的に置き換わってくれる機能があります。単に置換しているだけのことなので、結構簡単にできます。公式ページはこちら

ものすごく単純にやる

テーマ中のfunction.php中に
function hoge_function() {
return "ショートコード";
}
add_shortcode('hoge','hoge_function');

hoge_function関数でリターンする文字列や機能を書きます。ショートコードタグのフック(add_shortcode)にひっかけて実行します。
記事中に[hoge]を入れると「ショートコード」と表示されます。

アトリビュートみたいなものをつける

[omnioo num="1"]ような感じでショートタグにアトリビュートみたいなものをつけることができます。これはショートタグのパラメータとして受け取れるのでextractして取り出せば楽々です。

//[omnioo num="1"]
function attr_shortcode_function($param) {
extract(shortcode_atts(array(
'num' => '',
'key' => '',
), $param));

if ($num == 1) {
$remess="hogehoge1";
} else if ($num == 2) {
$remess="hogehoge2";
}
return $remess;
}
add_shortcode('omnioo','attr_shortcode_function');