※当サイトの一部記事には広告を含みます。
うさねこ気まぐれ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」を最もスムーズに始められる環境が整っています。
👉 今すぐチェック:レンタルサーバー エックスサーバー

最新のサービス価格は公式サイトでご確認ください。

免責事項

本記事のサンプルプログラムは動作・結果を保証するものではありません。 利用により発生したいかなるトラブル・損害についても、当方は責任を負いません。

広告
広告
枕 首が痛くならない【 低反発・人間工学設計】まくら 安眠枕 肩こり対策 横向き 仰向け うつ伏せ 対応 60D 高密度 3D構造 快眠枕 通気性 高さ調節(6cm/10cm/2段階) 洗えるカバー ギフト 誕生日 母の日 父の日 プレゼント (50x30cm)
枕 首が痛くならない【 低反発・人間工学設計】まくら 安眠枕 肩こり対策 横向き 仰向け うつ伏せ 対応 60D 高密度 3D構造 快眠枕 通気性 高さ調節(6cm/10cm/2段階) 洗えるカバー ギフト 誕生日 母の日 父の日 プレゼント (50x30cm)
【首が痛くならない・人間工学に基づく極上のフィット感】 「朝起きると首周りに違和感がある」…そんな悩みに寄り添うために設計されました。頭部・首・肩の3点を隙間なく支える3D立体構造が、寝ている間に首本来の自然なカーブ(S字ライン)をキープします。無理な姿勢を強いないため、気道が確保されやすく、スムーズな呼吸と深い眠りをサポート。毎朝のスッキリとした目覚めを体感してください。
【60D高密度低反発・包み込まれるような寝心地】 このまくら(枕)の芯材には、耐久性と衝撃吸収性に優れた60D高密度低反発ウレタンを採用。一般的な枕よりもきめ細かく、頭の重さに合わせてゆっくり沈み込みます。硬すぎず柔らかすぎない絶妙なバランスが体圧を均等に分散し、睡眠中の首や肩にかかる圧力を軽減します。長期間使用してもへたりにくく、安定した支え力が続きます。
【高さ選べる2way仕様・仰向け/横向き/うつ伏せ 全対応】 寝姿勢や体格は人それぞれ異なります。本製品は手前と奥で高さが異なる(6cm/10cm)「高さ調節」が可能な設計を採用。その日の体調や好みに合わせて、向きを変えるだけで高い方・低い方を自由に選択できます。**高さが必要な横向き寝や定番の仰向け寝はもちろん、低い側を使えばうつ伏せ寝にも最適。**あなたにぴったりの「安眠ポジション」が必ず見つかります。
【通気性抜群・洗えるカバーで一年中清潔】 毎日肌に触れるものだから、清潔さにはこだわりました。通気性に優れたインナー&アウターの二重カバー構造が、寝汗や湿気を素早く逃がし、一晩中サラサラの肌触りを保ちます。外カバーはファスナー式で簡単に取り外して洗濯機で丸洗い可能。ダニや菌の繁殖を気にする方でも、常に衛生的な状態でお使いいただけます。
【大切な方へのギフトに・安心のサポート体制】 機能性と実用性を兼ね備えたこの安眠枕は、誕生日、母の日、父の日、敬老の日などのプレゼントとして最適です。開封直後にウレタン特有のにおいが気になる場合は、風通しの良い場所で数日陰干ししてください。