小金井にあるWEB制作会社の備忘録

MEMORANDUM

WordPress(ワードプレス)でショートコードを作成

WordPress(ワードプレス)のカスタマイズ時にテンプレートにコードを直書きするのでも表示はできるのだけれど、投稿や固定ページで自由に組み合わせて流用したい場合に「ショートコード(例:[shortcode])」を作成しておくと便利だったので作成方法をメモ。

function.php

下記のコードを「function.php」に追加。
利用目的に合わせて属性を付与したり、しなかったりする。

shortcode_atts( ショートコード名 , 属性(任意), 使用するファンクション );

属性の無いショートコード([test])の場合

投稿(固定ページ)の編集画面でソースブロックを選択後、[test]と記載することで設定された文字が表示できる。

function display_func() {
	return 'ショートコード[test]の中身が表示される';
}
add_shortcode('test', 'display_func');

属性があるショートコード([test value1=○○○○])の場合

○○○○の部分に文字を入れることで、表示内容を都度変更して表示できる。
設定の無い場合は初期値を表示。

function display_func( $atts ) {
	$atts = shortcode_atts(
		array(
			'value1' => 'value1の初期値',
		), $atts, 'test' );
	return 'ショートコード[test]の'.$atts['value1'].'が表示される';
}
add_shortcode( 'test', 'display_func' );

属性が複数のショートコード([test value1=○○○○ value2=○○○○])の場合

function display_func( $atts ) {
	$atts = shortcode_atts(
		array(
			'value1' => 'value1の初期値',
			'value2' => 'value2の初期値',
		), $atts, 'test' );
	return 'ショートコード[test]の'.$atts['value1'].'と'.$atts['value2'].'が表示される';
}
add_shortcode( 'test', 'display_func' );

PHP(呼び出し時)

<?php echo do_shortcode('[test value1=○○○○ value2=○○○○]'); ?>

投稿機能よりブロック要素(ショートコード)を設置して記載する場合は「[test value1=○○○○ value2=○○○○]」で問題ないが、各種PHPファイルに直書きする場合は上記方法を使用

同一カテゴリーの記事