賢い人向けの厳選記事をまとめました!!

【Cocoon】本当は教えたくないアイキャッチ自動生成ランダムカラー化の裏技

第1部:【Cocoon】アイキャッチ自動生成をランダムカラーに変える方法

【重要な免責事項】 この記事は私がCocoonテーマのアイキャッチ画像自動生成機能をカスタマイズした体験記です。実装前には必ずサイトの完全バックアップを取得してください。設定ミスによりサイトが表示されなくなるリスクがあります。サーバー環境やテーマのバージョンによっては正常に動作しない場合があります。本記事の情報を基に行った変更による問題について、筆者は責任を負いかねます。

はじめに

今回は私がWordPressサイト(Cocoonテーマ使用)で実施したアイキャッチ画像のランダムカラー化について解説します。

Cocoonの「タイトルからアイキャッチを自動生成する」機能が2025年初めにβ版として実装されてから、一部で活用され始めています。

しかし、デフォルト設定では毎回同じ色の組み合わせになってしまいます。

私は「内容勝負!」と思っていたこともあり、昔からサムネ画像(アイキャッチ)を拾ってくるのが面倒で、No Imageで投稿することも多々ありました。

(そして、まとめて後から画像を選ぶのです…)

少しこの自動生成機能を使い始めてから気づいたのは、毎回同じ色だと正直飽きる(第1部、本記事内容)ということでした。

また、私はプロフィールも作らずサイト運営を続けていたので、この機能のデフォルトでついてくる「アバター」も消したい(第2部記事内容)と思ってしまいました。

【Cocoon】アイキャッチ3要素:タイトル・投稿者・アバターを自由に制御する方法
第2部:【Cocoon】アイキャッチ3要素:タイトル・投稿者・アバターを自由に制御する方法【重要な免責事項】 この記事は第1部より高度な内容で、generate_dynamic_image関数の完全オーバーライドを含みます。実装前には必ずサ...

 

※プロフィールの件、詳細はホーム1番下に書いてます。

ホームページ
true bank生き方や価値観が多様化してきて、自身の「許容する」規模を拡大させることと「柔軟さ」を伸ばすこと、一方では住み分けされているかとも思える「積極的に挑戦する」ことや「行動する」ことなど、生きる速度に応じて要求されることや質は増...

 

この記事のレベルと次のステップ

この記事(第1部)で実現できること:

  • アイキャッチのランダムカラー化
  • 毎回違う色合いで視覚的マンネリを解消
  • 比較的簡単な実装(3つのフィルターのみ)

第2部で実現できること:

  • タイトル・投稿者名・アバターの個別オンオフ制御
  • 記事の性質に応じた表示パターンの使い分け
  • より高度なカスタマイズ(関数の完全オーバーライド)

「ランダムカラーだけで十分」という方は、この記事で完結します。

(プロフィールもちゃんと作っている偉い方)

 

「もっと細かく制御したい」という方は、実装後に第2部もご検討ください。

 

この記事で実現できること:

完全ランダムカラー:毎回異なる色の組み合わせ
マンネリ完全解消:全く同じ見た目のアイキャッチとはおさらば
コピペで完了:複雑な設定は一切なし
自由な組み合わせ数:5通りでも1,000通りでも思いのまま

 

第1章:「ずっと同じ色は正直飽きる」問題

現状の課題

Cocoonの自動生成機能は確かに便利です。でも、デフォルト設定では毎回同じ色の組み合わせになってしまい、これでは:

  • 読者が「また同じ感じか」と思う(単純に私がそう思いました)
  • サイト全体が単調な印象になる(クローンを見ている気分)
  • 他のCocoonサイトとの差別化ができない

 

「ランダムカラーで楽になりたい」という発想

結局、「毎回色を考えるのって、正直面倒…」と私は思ってしまいました。

よくよく観察してみると、アイキャッチの構造は実はシンプルです:

  1. 四角い枠の辺の部分の色(ボーダー色)
  2. 面を塗りつぶす色(背景色)
  3. 文字の色(テキスト色)

この3つだけ。それなら:

「この3つの要素に、それぞれ色の候補をいくつか用意しておき、毎回ランダムで選んでもらえれば楽なのでは?」

そう思い立ったことがこのカスタマイズの始まりでした。今回の実装と過程は、「楽をするのために努力する」の典型ですね。

 

第2章:数学的な組み合わせの魅力

選択肢は自由自在

色の候補数は完全に自由です。私も最初は「5色くらいでいいかな」と思っていました:

控えめなバリエーション(最初の私)

  • 各5通り → 5 × 5 × 5 = 125通り

でも、実際に運用してみると「もう少しバリエーションが欲しいな」と思うようになって:

程よいバリエーション

  • 各10通り → 10 × 10 × 10 = 1,000通り

最終的に、「どうせなら思いっきりやってみよう」ということで現在の設定に:

私の現在の設定(宇宙テーマ)

  • 各15通り → 15 × 15 × 15 = 3,375通り

私の場合の実装では、同じ組み合わせに遭遇する確率は極めて低く、毎回新鮮な印象を与えられます。

なぜこの組み合わせが破綻しないのか

ランダムでも美しい組み合わせになる秘密は、「色の選定基準」にあります:

明度差の確保(一番重要!)

  • 背景色:暗い色系で統一
  • テキスト色:明るい色系で統一
  • 結果:どの組み合わせでも文字がちゃんと読める

実際の体験(試行錯誤)では、時々「文字が見えにくい」組み合わせが出てしまい、そこで学んだのが、この明度差の重要性でした。

私のサイトでイメージが付きやすい簡単な例に挙げれば、背景がご覧の通り暗めなのに、もし文字テキストが黒系統ならもはや見えないのです。

ですので、見える色を15パターン、いいものを選定するわけです。

 

色相の調和(意外に大事)

  • 同じテーマ内での色選定
  • 極端に異なる色味は混在させない
  • 結果:「宇宙っぽさ」を保った統一感

 

第3章:実装コードとカラーパレットの実例

重要な前置き

以下のコードは私のサイト(宇宙テーマ)専用です。そのままコピペしても、あなたのサイトには合わない可能性が高いです。色の部分を、あなたのサイトに合わせて変更してから使用してください。

私が実際に使っているコード

以下が、私のCocoon子テーマのfunctions.phpに追加している実際のコードです:

// アイキャッチ画像のランダム色設定(宇宙テーマ専用)
function my_site_random_eyecatch_colors() {
    // 背景色の配列(深い青~紫系:私のサイト用)
    $bg_colors = [
        '#060b25', '#0f1942', '#1a1035', '#0d1c26', '#131217', '#0A0F20', 
        '#151326', '#1B1F3B', '#16213E', '#0D1B2A', '#17223B', '#121629', 
        '#0F111A', '#0B132B', '#1A1B41'
    ];
    
    // テキスト色の配列(金色~ライトカラー系:私のサイト用)
    $text_colors = [
        '#FFE5A3', '#E5D0B1', '#F0C987', '#DCD0FF', '#A7D8FF', '#FFD700', 
        '#C4B1E6', '#EAAC8B', '#E2C275', '#F7D08A', '#BCDBDF', '#FFEFD3', 
        '#BDB2FF', '#FFD9CE', '#FFC857'
    ];
    
    // ボーダー色の配列(中間色~アクセントカラー:私のサイト用)
    $border_colors = [
        '#2d3168', '#4A5086', '#6A4978', '#3D5A80', '#48416C', '#563D7C', 
        '#3A506B', '#6D597A', '#533747', '#415A77', '#5C6E91', '#4B3F72', 
        '#524B58', '#3A5E8C', '#4A4E69'
    ];
    
    // 各色をランダムに選択するフィルターを設定
    add_filter('featured_image_background_color_code', function() use ($bg_colors) {
        return $bg_colors[array_rand($bg_colors)];
    });
    
    add_filter('featured_image_text_color_code', function() use ($text_colors) {
        return $text_colors[array_rand($text_colors)];
    });
    
    add_filter('featured_image_border_color_code', function() use ($border_colors) {
        return $border_colors[array_rand($border_colors)];
    });
}

// 関数を実行
my_site_random_eyecatch_colors();

コードの仕組み解説

array_rand()の魅力

$bg_colors[array_rand($bg_colors)]

この1行が全ての魔法です。配列からランダムに1つの色を選択してくれます。

毎回違う色が選ばれるため、私も「今回はどんな組み合わせかな?」と楽しみながら記事を投稿しています。

 

use構文のテクニック

function() use ($bg_colors) {
    return $bg_colors[array_rand($bg_colors)];
}

これは「クロージャ」という仕組みで、関数の外で定義した配列を関数の中で使えるようにする魔法の呪文です。

最初は「なにこれ?」と思いましたが、使ってみると便利でした。

 

実際の宇宙テーマカラーパレット

私のサイトで実際に生成される色の組み合わせサンプルを用意しました:

🌌 宇宙テーマカラーパレット画像

どのパターンも統一感がありながら、それぞれ違った印象を与えます。これが「適切な色選定」の威力です。

あなたのサイトに合わせた色選定例:カラーパレットのご提案

他のテーマでの色選定例を考えておきました。代わりにご紹介します。

※しかし、私のサイトが暗めの背景で一般的な白地背景ではないため、実際に白地系統の背景に実装した場合に異なるイメージを持つ可能性があることをご承知ください。

というか、それはもうご自身のセンス・感覚を信じるか、うまくやってください。

 

こちらで8つのテーマカラーパレット集を用意しています:

【Cocoon】コピペ即実装できるサムネ自動生成用カラーパレット
🎨 8つのテーマカラーパレット完全集Cocoonアイキャッチ自動生成のランダムカラーカスタマイズ用💡 使い方: お好みのテーマを選んで、カラーコードをクリックするとコピーできます。PHPコードをそのまま子テーマのfunctions.phpに...
  • 🌊オーシャン / 🌇サンセット / 🍂オータム / 💜ラベンダー
  • 🌿ミント / ⚫モノクローム / 👑ロイヤル / 🏔️アースト ーン

 

また、こちらは、美しさ際立つCocoonのgrayishに合いそうなテーマカラーパレットを別に選定しておきました。

いずれのサンプルも、ランダム実装の一部であることをご承知おきください。

Cocoon-grayish:サムネ自動生成専用の上品なカラーパレット6選
/* 宇宙デザインに合わせたダークテーマ */ body { background-color: #0a1035; color: rgba(255, 255, 255, 0.87); margin: 0; padding: 0; position: relative; overflow-x: hidden; } /* 星空エフェクト用背景 */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(2px 2px at 20px 30px, #fff, transparent), radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent), radial-gradient(1px 1px at 90px 40px, #fff, transparent), radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent), radial-gradient(2px 2px at 160px 30px, #fff, transparent), radial-gradient(1px 1px at 200px 90px, rgba(255,255,255,0.8), transparent); background-repeat: repeat; background-size: 250px 150px; opacity: 0.9; /* 星を最大まで明るく! */ z-index: -1; animation: twinkle 10s linear infinite; } @keyframes twinkle { 0%, 100% { opacity: 0.9; } 50% { opacity: 0.5; } } .color-palette-container { background: rgba(10, 16, 53, 0.05) !important; /* ほぼ透明! */ backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); color: rgba(255, 255, 255, 0.87); border: 1px solid rgba(75, 92, 217, 0.4); border-radius: 16px; padding: 35px; margin: 25px 0; box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4); width: 100%; max-width: none; font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif; position: relative; z-index: 1; } .palette-header { text-align: center; margin-bottom: 45px; padding: 25px; background: rgba(10, 16, 53, 0.03) !important; /* ほぼ透明! */ border-radius: 14px; border: 1px solid rgba(75, 92, 217, 0.4); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } .palette-title { font-size: clamp(26px, 5vw, 40px); font-weight: 700; margin-bottom: 18px; color: #f7fcff; text-shadow: 0 0 15px rgba(247, 252, 255, 0.4); letter-spacing: 1px; } .palette-subtitle { font-size: clamp(15px, 3vw, 19px); color: rgba(255, 255, 255, 0.8); margin-bottom: 22px; line-height: 1.7; font-weight: 300; } .usage-note { background: rgba(75, 92, 217, 0.15); /* 軽く透明 */ border: 1px solid rgba(75, 92, 217, 0.5); border-radius: 10px; padding: 18px; margin-bottom: 25px; font-size: 14px; color: rgba(255, 255, 255, 0.9); line-height: 1.6; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .theme-nav { position: -webkit-sticky; position: sticky; top: 20px; background: rgba(10, 16, 53, 0.08) !important; /* ほぼ透明! */ backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); padding: 18px; border-radius: 14px; margin-bottom: 35px; border: 1px solid rgba(75, 92, 217, 0.5); box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); z-index: 100; width: 100%; align-self: flex-start; } .theme-nav-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; } .theme-nav-link { display: block; padding: 12px 18px; background: rgba(75, 92, 217, 0.2); /* 軽く透明 */ border: 1px solid rgba(75, 92, 217, 0.6); border-radius: 25px; cursor: pointer; font-size: 13px; text-decoration: none; color: rgba(255, 255, 255, 0.9); text-align: center; transition: all 0.3s ease; font-weight: 500; } .theme-nav-link:hover { background: rgba(75, 92, 217, 0.5); /* ホバー時も軽く */ color: #f7fcff; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(75, 92, 217, 0.5); text-shadow: 0 0 12px rgba(247, 252, 255, 0.6); } .theme-section { background: rgba(10, 16, 53, 0.05) !important; /* ほぼ透明! */ backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(75, 92, 217, 0.3); border-radius: 16px; padding: 35px; margin-bottom: 45px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .theme-title { font-size: clamp(22px, 4vw, 32px); font-weight: 700; margin-bottom: 12px; text-align: center; color: #f7fcff; text-shadow: 0 0 18px rgba(247, 252, 255, 0.5); letter-spacing: 0.5px; } .theme-subtitle { font-size: clamp(14px, 3vw, 17px); text-align: center; color: rgba(255, 255, 255, 0.8); margin-bottom: 30px; line-height: 1.7; font-weight: 300; } .color-category { margin-bottom: 30px; } .category-title { font-size: 17px; font-weight: 600; margin-bottom: 18px; color: #B3E5FC; padding: 10px 15px; background: rgba(75, 92, 217, 0.1); /* 軽く透明 */ border-radius: 10px; border-left: 4px solid #B3E5FC; } .color-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 15px; margin-bottom: 25px; } .color-item { background: rgba(10, 16, 53, 0.02) !important; /* ほぼ透明! */ border: 1px solid rgba(75, 92, 217, 0.5); border-radius: 12px; padding: 12px; text-align: center; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .color-item:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(75, 92, 217, 0.4), 0 0 15px rgba(179, 229, 252, 0.3); border-color: #B3E5FC; background: rgba(10, 16, 53, 0.1) !important; /* ホバー時は少し濃く */ } .color-swatch { width: 100%; height: 50px; border-radius: 10px; margin-bottom: 10px; border: 2px solid rgba(179, 229, 252, 0.3); box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.3); } .color-code { font-size: 11px; font-family: 'SF Mono', 'Monaco', 'Courier New', monospace; font-weight: 600; color: rgba(255, 255, 255, 0.95); background: rgba(0, 0, 0, 0.4); padding: 5px 8px; border-radius: 6px; } .sample-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 18px; margin-top: 25px; } .sample-card { border-radius: 14px; overflow: hidden; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4); position: relative; aspect-ratio: 16/9; transition: all 0.3s ease; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); animation: fadeIn 1.25s ease-out normal; } .sample-card:hover { transform: translateY(-6px); box-shadow: 0 15px 40px rgba(75, 92, 217, 0.3), 0 0 20px rgba(75, 92, 217, 0.2); } .sample-content { height: 100%; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 600; position: relative; color: white; text-shadow: 0 3px 6px rgba(0, 0, 0, 0.6); } .sample-codes { position: absolute; bottom: 10px; left: 10px; font-size: 9px; opacity: 0.95; line-height: 1.4; font-family: 'SF Mono', 'Monaco', 'Courier New', monospace; background: rgba(0, 0, 0, 0.8); padding: 5px 8px; border-radius: 6px; } /* フェードインアニメーション */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .php-code-section { background: rgba(0, 0, 0, 0.05) !important; /* ほぼ透明! */ border: 1px solid rgba(75, 92, 217, 0.5); color: rgba(255, 255, 255, 0.95); padding: 25px; border-radius: 14px; margin: 30px 0; overflow-x: auto; font-family: 'SF Mono', 'Monaco', 'Courier New', monospace; font-size: 13px; line-height: 1.7; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .php-comment { color: #7dd3fc; font-style: italic; } .php-string { color: #fbbf24; } .php-function { color: #a78bfa; } .stats-box { background: rgba(75, 92, 217, 0.03) !important; /* ほぼ透明! */ border: 1px solid rgba(75, 92, 217, 0.7); color: rgba(255, 255, 255, 0.95); border-radius: 14px; padding: 25px; margin: 25px 0; text-align: center; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 6px 20px rgba(75, 92, 217, 0.3); } .stats-title { font-weight: 600; margin-bottom: 10px; font-size: 15px; color: #B3E5FC; } .stats-number { font-size: 26px; font-weight: 700; margin-bottom: 8px; color: #f7fcff; text-shadow: 0 0 12px rgba(247, 252, 255, 0.4); } .stats-description { font-size: 13px; opacity: 0.85; } .copy-notification { position: fixed; top: 25px; right: 25px; background: rgba(75, 92, 217, 0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: white; padding: 18px 28px; border-radius: 12px; font-size: 14px; z-index: 1000; transform: translateX(350px); transition: all 0.3s ease; border: 1px solid rgba(75, 92, 217, 0.9); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4); } .copy-notification.show { transform: translateX(0); } @media (max-width: 768px) { .color-palette-container { padding: 15px; margin: 10px 0; background: rgba(10, 16, 53, 0.05) !important; /* ほぼ透明! */ } .theme-section { padding: 18px; margin-bottom: 25px; background: rgba(10, 16, 53, 0.05) !important; /* ほぼ透明! */ } .color-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; } .color-item { padding: 8px; background: rgba(10, 16, 53, 0.02) !important; /* ほぼ透明! */ } .color-swatch { height: 40px; margin-bottom: 8px; } .sample-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } .theme-nav-links { grid-template-columns: repeat(2, 1fr); gap: 8px; } .palette-header { background: rgba(10, 16, 53, 0.03) !important; /* ほぼ透明! */ padding: 18px; margin-bottom: 25px; } .theme-nav { background: rgba(10, 16, 53, 0.08) !important; /* ほぼ透明! */ position: static; top: auto; margin-bottom: 20px; padding: 12px; } }

 

色選定の3つのルール(失敗から学んだこと)

1. 明度差を確保する(最重要!)

  • 背景は暗め、テキストは明るめに統一(私の場合)
  • コントラスト比を意識した選定

2. 色相を統一する(意外に大事)

  • サイトのテーマカラーに合わせた色系統
  • 極端に異なる色味は混在させない

3. 彩度をコントロールする(上級者向け)

  • 派手すぎず、地味すぎない程よいバランス
  • ブランドイメージに合った彩度レベル

これは正直、感覚的な部分が大きいです。

同じ彩度レベルで統一すると、不思議と調和が取れるはずです。

 

第4章:実装時の注意事項:失敗談

必須の事前準備

私も過去に「バックアップを取らずに作業して冷や汗をかいた」経験があります。まぁ以外と何とかなりますけど。

以下は絶対に守ってください:

完全バックアップの取得

  • WordPress全体のバックアップ
  • データベースのバックアップ

子テーマの使用確認

  • 親テーマの直接編集は絶対に避ける
  • 子テーマのfunctions.phpに追加

段階的な実装(一般的な話、ここでは別に大丈夫)

  • まず3色程度で動作確認
  • 問題なければ色数を増やす

 

トラブルシューティング(実体験ベース)

Q: アイキャッチが生成されない A: 私も最初にやった間違いですが、以下を確認してください:

  • Cocoonの自動生成機能が有効になっているか
  • 子テーマのfunctions.phpに正しく追加されているか

Q: エラーが発生する A: 焦らず、追加したコードをコメントアウトして原因を特定:

// my_site_random_eyecatch_colors(); // 一時的にコメントアウト

Q: 色の組み合わせが気に入らない A: これは完全に好みの問題です。配列内の色を好みに合わせて変更してください。

カラーコードは16進数(#で始まる6桁)で指定します。私も最初は「この組み合わせ微妙だな」と思う色があり、何度か調整しました。

 

設定の確認方法

設定が正しく機能しているか確認するには、シークレットモード(プライベートブラウジング)を使うのがベストです。毎回キャッシュをクリアしたりリロードしたりする手間が省けます。

シークレットモードの開き方

  • Google Chrome: Ctrl + Shift + N (Windows/Linux) または Command + Shift + N (Mac)
  • Firefox: Ctrl + Shift + P (Windows/Linux) または Command + Shift + P (Mac)
  • Edge: Ctrl + Shift + N (Windows) または Command + Shift + N (Mac)
  • Safari: Command + Shift + N

新しい記事を投稿して、アイキャッチが毎回違う色で生成されることを確認してください。

 

まとめ

実装してみた感想

正直に言うと「もう元には戻れない」です。

毎回違うアイキャッチが生成される楽しさもありますが、何より「アイキャッチの色をどうしよう」と悩む時間がゼロになったのが最大のメリット。記事を書くことに集中できるようになりました。

この方法を実装すると、あなたのCocoonサイトは確実に他と差別化されます。訪問者は「なんか他のサイトと違うな」と感じるはずです。

最後に重要な注意

  • 必ずバックアップを取ってから実装してください(これだけは絶対に!)
  • 問題が発生した場合は、追加したコードを削除すれば元に戻ります
  • より詳細なサポートが必要な場合は、Cocoonコミュニティで相談してください
  • サンプルコードをそのまま使わず、必ずあなたのサイトに合わせて色を調整してください

 

次のステップ:さらなるカスタマイズへ

この記事の方法で、アイキャッチのマンネリは確実に解消されます。

でも、使い続けていると「もっと自由に制御したい」という欲が出てくるかもしれません:

  • 「シンプルにタイトルだけの記事があってもいいな」
  • 「ゲスト投稿の時は投稿者名をしっかり出したい」
  • 「プロフィール記事はアバターも表示したい」

そんな時は、第2部:完全制御編で、タイトル・投稿者名・アバターを個別にオンオフできる高度なカスタマイズをご紹介しています。

【Cocoon】アイキャッチ3要素:タイトル・投稿者・アバターを自由に制御する方法
第2部:【Cocoon】アイキャッチ3要素:タイトル・投稿者・アバターを自由に制御する方法【重要な免責事項】 この記事は第1部より高度な内容で、generate_dynamic_image関数の完全オーバーライドを含みます。実装前には必ずサ...

 

まずはこの記事の方法を試してみて、「物足りない」と感じたら次のステップに進んでみてください!

あなたのサイトも、ランダムカラーの美しいアイキャッチで読者を魅了してください。

【Cocoon】アイキャッチ自動生成の関数名upladed考察
【Cocoon】アイキャッチ自動生成で気になる関数名の背景を調べてみたはじめに:敬意と調査の動機この記事は、Cocoonテーマの開発者であるわいひら氏への深い敬意と感謝を前提として執筆しております。わいひら氏が長年にわたってWordPres...
error: Content is protected !!
タイトルとURLをコピーしました