PDFファイルをダウンロード後に完了ページに遷移させる
PHPを使用してPDFファイルを動的にダウンロードしたところ、「header」関数でのリ…
WordPress(ワードプレス)のカスタマイズ時にテンプレートにコードを直書きするのでも表示はできるのだけれど、投稿や固定ページで自由に組み合わせて流用したい場合に「ショートコード(例:[shortcode])」を作成しておくと便利だったので作成方法をメモ。
下記のコードを「function.php」に追加。
利用目的に合わせて属性を付与したり、しなかったりする。
shortcode_atts( ショートコード名 , 属性(任意), 使用するファンクション );
投稿(固定ページ)の編集画面でソースブロックを選択後、[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 echo do_shortcode('[test value1=○○○○ value2=○○○○]'); ?>
投稿機能よりブロック要素(ショートコード)を設置して記載する場合は「[test value1=○○○○ value2=○○○○]」で問題ないが、各種PHPファイルに直書きする場合は上記方法を使用