任意のHTMLブロックをショートコードで挿入する方法
目次
この記事では、WordPressに[ショートコード]を追加して、任意のHTMLブロックを記事本文に挿入する方法を解説します。
よく使う広告バナー、定型文、注意ボックスなどをショートコード化すると、管理がとても楽になります。
1 実装のポイント
- functions.php にショートコードの関数を追加
- 記事本文内でショートコード [mybox] のように呼び出せる
- CSSで自由に装飾可能
- JavaScript を組み合わせることも可能
2 functions.php にコードを追加
//-------------------------------------------
// ショートコードで任意のHTMLブロックを挿入する
//-------------------------------------------
function my_html_box_shortcode($atts, $content = null) {
$atts = shortcode_atts(array(
'title' => 'お知らせ',
), $atts, 'mybox');
$html = '<div class="mybox">';
$html .= '<h3 class="mybox-title">' . esc_html($atts['title']) . '</h3>';
$html .= '<div class="mybox-content">' . do_shortcode($content) . '</div>';
$html .= '</div>';
return $html;
}
add_shortcode('mybox', 'my_html_box_shortcode');
function enqueue_mybox_script() {
wp_enqueue_script(
'mybox-toggle',
get_template_directory_uri() . '/js/mybox.js',
array('jquery'),
'1.0',
true
);
}
add_action('wp_enqueue_scripts', 'enqueue_mybox_script');
3 javascript にコードを追加
ファイル名:mybox.js
保存先:wp-content/themes/your-child-theme/js/mybox.js
jQuery(function($){
$('.mybox-title').on('click', function(){
$(this).next('.mybox-content').slideToggle();
});
});
3.1 ディレクトリ構造
- child-theme/
- style.css
- functions.php
- footer.php
- header.php
- js/
- mybox.js
- images/
- logo.png
補足:
上記コードを
上記コードを
functions.php に追加すれば、記事本文に [mybox title="任意のタイトル"]任意の文章[/mybox] と書くだけで、ボックスを表示できます。
記事内で表示する場合:
[mybox title="任意のタイトル"]任意の文章[/mybox]
4 汎用CSS
/* -----------------------------
* ショートコードで任意のHTMLブロックを挿入する
* ----------------------------- */
/* ブロック全体のスタイル */
.mybox {
border: 2px solid #69f; /* 青系の枠線 */
padding: 15px; /* 内側余白 */
margin: 20px 0; /* 上下の余白 */
border-radius: 6px; /* 角丸 */
background: #e1ebff; /* 薄い青背景 */
}
/* ブロックタイトル部分 */
.mybox-title {
font-weight: bold; /* 太字 */
color: #36f; /* 濃い青色 */
margin: 0 0 10px; /* 下に余白 */
cursor: pointer; /* ホバー時に手の形カーソル */
}
/* ブロック内容部分 */
.mybox-content {
font-size: 0.95em; /* 少し小さめの文字サイズ */
line-height: 1.6; /* 行間 */
}
5 完成イメージ
(例 Lightning)
任意のタイトル
任意の文章
6 代用プラグイン
- Shortcoder — ショートコードで任意のHTML/JS/CSSを管理できる
- Reusable Blocks Extended — 再利用ブロックをショートコードで呼び出せる
7 まとめ
ショートコードを活用することで、よく使うパーツを記事内に簡単に呼び出せます。
デザインはCSS、動きはJavaScriptで自由にカスタマイズ可能。
小規模ならfunctions.phpに直接、大規模なら専用プラグイン化するのがオススメです。

