はじめに
ブログにソースコードを掲載する際、「コピーボタンがあれば便利なのに……」と思ったことはありませんか?
また、「行番号があるとコードの説明がもっとしやすいのに」と感じたことがある人も多いでしょう。
読者がワンクリックでコードをコピーできるようになると、記事の利便性は向上します。さらに、コードブロックに行番号を表示すれば、可読性が高まり、解説もスムーズになります。
この記事では、WordPress向けに開発した「Sticky Copy Button for Code Blocks」プラグインの使い方から、各オプションの詳細、そしてカスタムCSSを使った応用テクニックまでを解説します。
このプラグインを導入するだけで、あなたのブログに少し便利になったコードブロックを簡単に追加できるようになります。
プラグインの特徴
「Sticky Copy Button for Code Blocks」は、WordPressの投稿内にあるすべてのコードブロック(<pre><code>要素)に対して、自動的に「コピーボタン」を追加するプラグインです。
使い方
1. プラグインのインストール
- WordPress管理画面にログインします。
- 左メニューの [プラグイン] > [プラグインの追加] をクリックします。
- 検索窓に「Sticky Copy Button for Code Blocks」と入力します。
- プラグインを見つけたら、[今すぐインストール]をクリックし、その後[有効化]します。
これで、コードブロック(<pre><code>)に自動でコピーボタンが表示されます。

2. 基本的な設定
WordPressのテーマによってコードブロックのデザインや余白、背景色が異なるため、ボタン位置やサイズを最適化することで、より美しく使いやすい表示になります。
- WordPress管理画面の左メニューから[設定] > [Sticky Copy Button]をクリックします。

- この設定ページで、表示するコピーボタンのスタイルと設置位置を調整します。
初期設定(最小限の調整)
以下の基本設定項目をお使いのコードブロックに合わせて調整すれば、十分に見栄えの良いコピーボタンを表示できます。
| 基本設定項目 | 説明 |
| ボタン上下位置の調整 (px) | 0px の場合はコードブロックの上端に表示されます。 プラス値で上方向、マイナス値で下方向へ移動します。 |
| ボタン左右位置の調整 (px) | 0px の場合は右端に配置されます。 プラス値で右方向、マイナス値で左方向へ移動します。 |
| コピーボタンのラベル | ボタン内に表示される文字列を設定します。「Copy」「コピー」「コピーする」など |
| コピー後のラベル (2秒間) | ボタンをクリックした直後に表示される文字列です。「Copied」「コピー済」「コピーしました」など |
| ボタンのサイズ (8 ~ 36 px) | 12px〜16px程度に設定します。 |
| ボタンの文字色 | ボタン内の文字列の色です。コードブロックの背景色としっかり区別できる色を選びます。 |
| ボタンの背景色 | ボタン内の背景色です。 こちらもコードブロックの背景と被らない色を選びます。 |
- 設定を変更したら、忘れずにページ下部の [変更を保存] ボタンをクリックしてください。
ここからは、より使いやすいコードブロックにするため、設定ページに用意されているすべての設定項目について詳しく解説します。
3. 設定項目の詳細
ボタンのスタイルと位置の調整
| 設定項目 | 説明 | 補足 |
| ボタン上下位置の調整 (px) | コードブロックの上端から、ボタンをどれだけ上下に動かすかをピクセルで設定します。 | コードブロックの外側にボタンを置きたい場合は、正の値(例:20)を指定すると、上に浮かせるように配置できます。 |
| ボタン左右位置の調整 (px) | コードブロックの右端から、ボタンをどれだけ左右に動かすかをピクセルで設定します。 | コードブロック内側に配置したい場合は、負の値(例:-20)を指定すると、スクロールバーと重ならず、自然な位置に収まります。 |
| コピーボタンのラベル | 通常時のボタンに表示されるボタン内の文字です。 | 「📋コピー」のように絵文字を使うこともできます(※サーバーの文字設定に依存) |
| コピー後のラベル (2秒間) | ボタンが押された後、2秒間だけ表示されるボタン内の文字です。 | 「✅ Copied!」など、視覚的にコピー完了がわかるように設定します。 |
| ボタンのサイズ (8 ~ 36 px) | ボタンのフォントサイズを設定します。 | フォントサイズに応じて、ボタンサイズも自動調整されます。 |
| ボタンの文字色 | ボタンの文字色(通常時)を設定します。 | ボタンが押されると、2秒間だけボタンの背景色と色が交換されます。 |
| ボタンの背景色 | ボタンの背景色(通常時)を設定します。 | ボタンが押されると、2秒間だけボタンの文字色と色が交換されます。 |
| 常に背景を透明にする | チェックを入れると、背景色が常に透明になります。 | ボタンが押されると、2秒間だけボタンの文字色が背景色と交換されます。 もし文字色が変わる効果を避けたい場合は、「ボタンの文字色」と「ボタンの背景色」を同じ色に設定します。 |
その他の機能設定
| 設定項目 | 説明 | 補足 |
| コードブロックの高さ上限 (px) | チェックを有効☑にすると、コードブロックの 最大高さをピクセル単位で設定できます。 コードがこの高さを超えた場合、縦スクロールバーが表示されます。 | 30行以上の長いコードを表示する際は、400px前後に設定すると、記事全体の見た目がスッキリまとまります。 |
| 行番号の表示 | チェックを有効☑にすると、コードブロックの左側に行番号が表示されます。 | 長いコード行は折り返さず1行のまま表示される仕様となります。 そのため、必要に応じて横スクロールバーが表示されます。 |
| カスタムスタイル (CSS) | テキストエリアにCSSコードを入力することで、記述したスタイルが反映されます。 | ※ 次の項目で詳しく解説 |
4. カスタムスタイル (CSS) によるやや高度なカスタマイズ
カスタムCSSを使ってボタンやコードブロックのスタイルを更に細かく設定ができます。
設定ページの一番下にある[カスタムスタイル (CSS)]のテキストエリアに、CSSコードを入力します。
※CSSコードにはコメントや説明文を記載せず、コードのみを入力してください。

利用可能なCSSセレクタ
| セレクタ | 対象要素 |
.copy-code-btn | コピーボタン本体を指すセレクタです。フォント・色・サイズなど、最も基本的なスタイルを調整できます。 |
.copy-code-btn.copied | コピーボタンを押した後(約2秒間)に適用されるクラスです。コピーボタンのスタイルやアニメーションを調整したいときに使用します。 |
.code-block-wrapper | コードブロック全体を囲むラッパー要素です。外枠のデザイン変更に使用します。 |
.code-block-wrapper pre | コード本文を含む<pre>タグを対象とするセレクタです。行間・余白・背景色などの調整に利用します。 |
.line-numbers | 行番号エリア(行番号本体)を指すセレクタです。フォントの色、余白、背景色などをここで調整できます。 |
5. 具体的なカスタマイズ例
以下のCSSコードの例を参考にし、ご自身の環境に合わせてコピーボタンのスタイルをカスタマイズしてください。
1. ボタンのスタイルの変更
コピーボタンのフォントを変更し、枠線をなくして文字を強調します。
.copy-code-btn, .copy-code-btn.copied {
font-family: "Noto Sans JP", "Hiragino Sans", "Meiryo", sans-serif;
border: none;
font-weight: 700;
}
2. 行番号のスタイルを変更
行番号の色を薄いグレーから黒に変更し、文字を太くします。
.line-numbers {
color: #000;
font-weight: 700;
}
3. ボタンの配置を変更
ボタンをコードの左側に固定します。
.copy-code-btn {
left: 10px;
right: auto;
}
4. コードエリアの調節
コードエリアの上部に、コピーボタン用のスペースを確保します。
.code-block-wrapper {
position: relative;
padding-top: 30px;
}
5. コードブロック自体のカスタマイズ
ステッチデザインのコードブロックとして表示されます。
.code-block-wrapper pre {
background-color: #e8fff7;
color: #333333;
border: 3px dashed #7dd3c7;
border-radius: 12px;
box-shadow:
0 0 0 4px #e8fff7,
0 0 0 8px #c9f2e7;
padding: 20px;
}
.line-numbers {
background-color: #e8fff7;
color: #4a6b67;
border: 2px dashed #7dd3c7;
padding: 10px 12px;
font-weight: 600;
border-radius: 12px 0 0 12px;
box-shadow:
inset -3px 0 0 #c9f2e7;
}
6. コピー後ボタンのスタイル変更
コピーボタンが押されると、ボタン(.copied)が通常の3倍の大きさで表示されます。
.copy-code-btn.copied {
transform: scale(3);
transition: transform0.3sease;
}
7. とにかく派手なコピーボタンを演出
遊び心あふれる派手なコピーボタンです。常時光り輝き、ホバーすると斜めに回転し、クリック時にはボタンが拡大表示されます。
.copy-code-btn {
position: absolute;
outline: none !important;
border-radius: 8px;
cursor: pointer;
opacity: 0.9;
z-index: 10;
font-weight: bold;
color: #fff;
background: linear-gradient(45deg,
#ff00ff,
#ff8800,
#ffee00,
#00ff44,
#00ddff,
#8844ff,
#ff00aa
);
background-size: 400% 400%;
animation: rainbowMove 3s linear infinite;
transition:
transform 0.4s ease,
filter 0.4s ease,
opacity 0.4s ease;
}
@keyframes rainbowMove {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.copy-code-btn:hover {
transform: scale(1.2) rotate(8deg);
filter: drop-shadow(0 0 10px #fff) brightness(1.3);
opacity: 1;
}
.copy-code-btn.copied {
font-size: 300%;
animation:
buttonFlash 0.6s ease,
rainbowMove 3s linear infinite;
}
@keyframes buttonFlash {
0% {
transform: scale(1) rotate(0deg);
filter: drop-shadow(0 0 4px #fff);
}
30% {
transform: scale(1.4) rotate(10deg);
filter: drop-shadow(0 0 20px #fff);
}
70% {
transform: scale(0.9) rotate(-6deg);
filter: drop-shadow(0 0 6px #fff);
}
100% {
transform: scale(1) rotate(0deg);
filter: drop-shadow(0 0 4px #fff);
}
}
8. このサイトでのスタイル
参考までに、現在表示されているコピーボタンのスタイルです。
.copy-code-btn, .copy-code-btn.copied {
color: #999;
font-weight: 500;
border: none;
}
.copy-code-btn:hover {
color: #000;
font-weight: 700;
}
.code-block-wrapper pre {
padding-top: 30px;
}
以上で、プラグイン「Sticky Copy Button for Code Blocks」の使い方の説明は終了です。
ぜひこのプラグインを活用して、ご自身の環境に合った、より便利なコードブロックをお使いください。
おわりに
ブログ用のテーマは数多く存在しており、どんなシンプルなテーマでも、ひと昔前と比べれば信じられないほど高機能なHTMLビルダーになりました。
しかし、現在主流のテーマでも、コードブロックに「コピーボタン」が標準搭載されているものは多くありません。また、行番号の表示機能が用意されているテーマも比較的少数です。
さらに、コードブロックの最大高さや、必要に応じて縦スクロールバーを表示する設定が用意されていないテーマも多く、コード掲載が多いブログでは物足りなさを感じる場面があります。
おそらく、一般的なブログではエンジニアのようにソースコードを掲載する機会が少なく、その必要性があまり意識されていないのかもしれません。
このプラグインは、もともと「コピーボタンを追加するだけ」のつもりで作りました。しかし、自分自身がテーマに不足を感じていた機能を少しずつ追加していくうちに、現在のような形へと発展していきました。
私のようにソースコードの掲載の多いブロガーで、テーマに対して不足を感じていた方には、役立つプラグインだと思います。


コメント