WordPressのショートコードを作成する

WordPressのショートコードを作成する方法をメモ。

サンプルコード

ショートコードで実行する関数と、ショートコードを登録する関数をfunctions.phpに記述します。

functions.php

function greet_func($atts) {
	$params = shortcode_atts(array(
		'name' => '小鳥遊',
		'greeting' => 'こんにちは',
	), $atts);

    return $params['name'] . 'さん' . $params['greeting'];
}
add_shortcode('greet', 'greet_func');

greet_func()が今回作成したショートコードで実行する関数、add_shortcode()が登録する関数です。

ショートコードには属性を設定することができ、指定した場合は実行する関数の第一引数に入ります。
2~5行目で各属性の初期値を設定しています。

add_shortcode()は第一引数にショートコードで使用する文字列、第二引数に実行する関数を指定します。

実際に管理画面の投稿内で以下のように記述してみます。

[greet]
[greet name="日下部" greeting="こんばんは"]

[]の中はadd_shortcode()の第一引数で指定した値が入ります。

記事には以下のように表示されました。

小鳥遊さんこんにちは
日下部さんこんばんは

 

上記サンプルでは[greet]のような形ですが、ショートコードで囲う形での指定もできます。

functions.php

function link_func($atts, $content = null) {
	$params = shortcode_atts(array(
		'href' => 'http://demichan.com/',
		'target' => null,
	), $atts);

    return '<a href="' . $params['href'] . '" target="' . $params['target'] . '">' . $content . '</a>';
}
add_shortcode('link', 'link_func');

実行する関数の第二引数にショートコードで囲った内容が入ります。

実際に以下のように投稿して試してみます。

[link]亜人ちゃん[/link]
[link href="http://konosuba.com/" target="_blank"]このすば[/link]

記事には以下のように表示されました。

<a href="http://demichan.com/" target="">亜人ちゃん</a>
<a href="http://konosuba.com/" target="_blank">このすば</a>

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

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

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年3月
 12
3456789
10111213141516
17181920212223
24252627282930
31