当ページのリンクには一部広告が含まれています。
うさねこ気まぐれPG開発室

WordPressでJavaScriptはどこに書く?投稿記事・固定ページ内だけで動かす方法【Cocoon/functions.php不要】

広告

投稿記事内だけでJavaScriptを動かす方法

うさちゃん
うさちゃん

WordPress+Cocoonでブログを書いていると、ときどき

  • この記事の中だけで、ちょっと動く JavaScript を入れてみたい
  • でも、テーマの functions.php はあまり触りたくない
  • 子テーマの編集も、なんか怖い…

という場面がありませんか?

ねこちゃん
ねこちゃん

あっ、ぼくは、そういうの触らない主義なんで……。

うさちゃん
うさちゃん

やっぱり、ありますよね😊

今日は、そんなときに使える
「functions.php を一切いじらず、投稿記事内だけで完結する JavaScript の入れ方」 をメモしておきます。

🔐 テーマ編集なし・Cocoonの設定変更なし
👉 投稿本文の中だけで完結する方法です。

1.今回の前提(WordPress+Cocoon)

今回の想定はこんな感じです。
テーマ:Cocoon または Cocoon 子テーマ
functions.php や PHPファイルは一切編集しない
投稿本文の中だけで JavaScript を完結させる

この前提のもとで、次の章のように 「カスタムHTML」ブロックにコードをまとめて貼ることで、
その記事の中だけで動く JS デモが作れます。

2. ボタンを押すとメッセージボックス(モーダル)が表示されるサンプル

うさちゃん
うさちゃん

さっそく、実際に動くサンプルを置いておきます。

ボタンを押すと、画面中央にメッセージボックス(モーダルウィンドウ)が表示されて、うさちゃんのメッセージがポップアップします。

うさちゃん
うさちゃん

上のサンプルを動かすためには、このブロック全体を、投稿の「カスタムHTML」ブロックにコピペすればOKです。

<div class="usaneko-js-sample-box">
  <button id="usaneko-js-sample-button" type="button">
    メッセージを表示する
  </button>
</div>

<!-- ▼ モーダル本体 -->
<div class="usaneko-js-modal" id="usaneko-js-modal" aria-hidden="true">
  <div class="usaneko-js-modal-bg"></div>
  <div class="usaneko-js-modal-content" role="dialog" aria-modal="true">
    <p class="usaneko-js-modal-message">
      🐰ボタンが押されました🐱<br>ありがとうございます 🐯
    </p>
    <button type="button" class="usaneko-js-modal-close">閉じる</button>
  </div>
</div>

<style>
/* ▼ デモボックス */
.usaneko-js-sample-box{
  border: 1px solid #cde7d8;
  background: #f7fffb;
  padding: 16px;
  border-radius: 8px;
  max-width: 320px;
  margin: 1.5em auto;      /* ← 左右 auto で枠ごと中央寄せ */
  text-align: center;      /* ← 中のボタンも中央寄せ */
}
.usaneko-js-sample-box p{
  margin: 0 0 12px;
}
.usaneko-js-sample-box button{
  padding: 6px 16px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  background: #54c2a8;
  color: #fff;
  font-size: 14px;
}
.usaneko-js-sample-box button:hover{
  opacity: .9;
}

/* ▼ モーダル共通 */
.usaneko-js-modal{
  position: fixed;
  inset: 0;
  display: none;          /* 初期状態:非表示 */
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.usaneko-js-modal.is-active{
  display: flex;          /* 表示状態 */
}
.usaneko-js-modal-bg{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.4);
}
.usaneko-js-modal-content{
  position: relative;
  z-index: 1;
  background: #ffffff;
  border-radius: 12px;
  padding: 20px 24px;
  max-width: 320px;
  box-shadow: 0 10px 25px rgba(0,0,0,.15);
  text-align: center;
}
.usaneko-js-modal-message{
  margin: 0 0 16px;
}
.usaneko-js-modal-close{
  padding: 6px 16px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  background: #54c2a8;
  color: #fff;
  font-size: 14px;
}
.usaneko-js-modal-close:hover{
  opacity: .9;
}
</style>

<script>
// ▼ この投稿ページ「だけ」で動くシンプルなモーダルJS
document.addEventListener('DOMContentLoaded', function () {
  var button = document.getElementById('usaneko-js-sample-button');
  var modal  = document.getElementById('usaneko-js-modal');
  if (!button || !modal) return;

  var closeBtn = modal.querySelector('.usaneko-js-modal-close');
  var bg       = modal.querySelector('.usaneko-js-modal-bg');

  // モーダルを開く
  button.addEventListener('click', function () {
    modal.classList.add('is-active');
    modal.setAttribute('aria-hidden', 'false');
  });

  // モーダルを閉じる(閉じるボタン/背景クリック)
  function closeModal() {
    modal.classList.remove('is-active');
    modal.setAttribute('aria-hidden', 'true');
  }

  if (closeBtn) {
    closeBtn.addEventListener('click', closeModal);
  }
  if (bg) {
    bg.addEventListener('click', closeModal);
  }
});
</script>

3.設置手順(Cocoon+ブロックエディター)

・WordPress 管理画面 → 「投稿」→ 追加 or 編集
・本文の好きな位置で「+」→ 「カスタムHTML」 を選択
・この記事で紹介したコードブロック全体を丸ごと貼り付け
・「プレビュー」でボタンを押して、モーダルが開くか動作確認
・OKなら「公開」または「更新」をクリック

まとめ

うさちゃん
うさちゃん

functions.php は触りたくないけど、投稿記事内だけでちょっとした JavaScript を動かしたいときは「カスタムHTML」ブロックが一番手軽です。
HTML・CSS・JavaScript(<style> / <script>タグ)をひとまとめにしておけば、1記事完結の小さなデモとして管理しやすくなります。
本格的に使い回したくなったら、そのときにあらためて「ショートコード化+functions.php 編集」を検討すればOKです😊

ねこちゃん
ねこちゃん

ぼくにはさっぱりですが、そういうことです。

WordPress+Cocoonを始めるなら「エックスサーバー」がおすすめ!

「これからWordPress+Cocoonでブログを作りたい!」という方には、
国内シェアNo.1の高速レンタルサーバー エックスサーバーがぴったりです。

  • 🚀 WordPressクイックスタート対応(最短10分でブログ開設)
  • 🪄 Cocoonテーマの自動インストールにも対応
  • 🔒 無料独自SSL/高セキュリティ/自動バックアップ完備
  • ☁️ 高速SSD・安定稼働率99.99%以上
  • 💰️ スタンダード 月額料金 990円~  693円~(キャンペーン中なら) 2025/11現在

「WordPress × Cocoon」を最もスムーズに始められる環境が整っています。
👉 今すぐチェック:レンタルサーバー エックスサーバー

免責事項

本記事のサンプルプログラムは実行を保証するものではなく、利用に伴う結果について一切の責任を負いません。

広告