新しいSNSフォローボタンを追加する方法

Cocoonカスタマイズ集
この記事は約4分で読めます。
記事内に広告が含まれています。

はじめに

以下の質問に回答します。

Cocoon 2.9.4以降、ユーザー→プロフィールで入力フォームとSNSフォローボタンを簡単に追加できるようになりました。
今回は「Pixiv」を例に追加手順を紹介します。

この記事では、この方法について説明します。

完成イメージ

プロフィール
SNSフォローボタン

実装手順

以下のコードをfunctions.phpに追加します。

// SNSフォローを追加
add_filter('cocoon_sns_follow_services', function ($services) {
  $services['pixiv_url'] = [
    'name'  => 'Pixiv',                               // 表示名
    'title' => 'Pixivをフォロー',                     // ツールチップなどのタイトル
    'class' => 'pixiv-button pixiv-follow-button-sq', // 適用するCSSクラス
    'icon'  => 'icon-pixiv-logo',                     // アイコンのCSSクラス
  ];

  return $services;
});


// フロント用JS・CSSを追加
add_action('wp_enqueue_scripts', function () {
  ob_start();
  ?>
  :root {
    --cocoon-pixiv-color: #0096fa;
  }

  .icon-pixiv-logo::before {
    background-color: var(--cocoon-pixiv-color);
    content: '';
    display: block;
    height: 1em;
    mask-image: url('アイコン画像URL');
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    width: 1em;

    /* プロフィール */
    .body .author-box & {
      background-color: #999;
    }

    /* 本文下 */
    .bc-monochrome &,
    .bc-brand-color & {
      background-color: #fff;
    }
  }

  [class*="bc-brand-color"] {
    .pixiv-button {
      --cocoon-sns-color: var(--cocoon-pixiv-color);
    }
  }
  <?php

  $handle = 'sns-pixiv';

  wp_register_style($handle, false);
  wp_enqueue_style($handle);
  wp_add_inline_style($handle, ob_get_clean());
});

注意点

Cocoon設定

Cocoon設定→SNSフォロー→プレビューは、admin.cssを参照しています。
そのため、style.cssに追記したアイコンや色の指定はプレビュー上には反映されません(図3参照)。

アイコンを作成する方法

メディア

mask-imageにアイコンとして表示するPNG形式などの画像を設定します。
その際、色を付けたい部分は「黒」、色を付けたくない部分は「透明」にして画像を作成してください(図4参照)。

Font Awesome 5にはPixivのアイコンが用意されていません。
そのため、表示させるには画像ファイルやSVGデータやを別途用意する必要があります。

さいごに

今回紹介した方法を使えば、標準ではサポートされていないSNSであっても、自由自在にフォローボタンを追加できます。
プロフィール画面からURLを入力するだけでプロフィールや記事下などに反映されるため、運用も非常にスムーズです。
ぜひ手元のアイコン画像を用意して、自分のサイトに合ったカスタマイズを試してみてください。

タイトルとURLをコピーしました