MENU
  • ブログ用語集(ガイド)
  • ブログ運営基礎知識
  • SEOノウハウ
  • ブログ収益化
  • WordPress
  • Webデザイン
  • PC
  • サービス一覧
  • 無料相談
セオリコ
  • ブログ用語集
  • 記事一覧
    • ブログ基礎知識
      • ブログ基礎知識
      • ブログの書き方
      • サーバー関連
    • ブログ収益化
      • Google AdSense
    • SEO
    • Webデザイン
      • CSSデザイン
    • WordPress
      • WordPress エラー修正方法まとめ
      • WordPressテーマ
      • WordPressプラグイン
      • ブログカスタマイズ
    • PC関連
      • OS・ソフトウェア
      • ハードウェア
  • サービス一覧
    • ブログ個別サポート(コンサルティング)
    • サイト診断(Google AdSense 審査対策)
    • Search Console データ分析
    • WordPress エラー修復
    • Link Map Insights
  • 無料相談
セオリコ
  • ブログ用語集
  • 記事一覧
    • ブログ基礎知識
      • ブログ基礎知識
      • ブログの書き方
      • サーバー関連
    • ブログ収益化
      • Google AdSense
    • SEO
    • Webデザイン
      • CSSデザイン
    • WordPress
      • WordPress エラー修正方法まとめ
      • WordPressテーマ
      • WordPressプラグイン
      • ブログカスタマイズ
    • PC関連
      • OS・ソフトウェア
      • ハードウェア
  • サービス一覧
    • ブログ個別サポート(コンサルティング)
    • サイト診断(Google AdSense 審査対策)
    • Search Console データ分析
    • WordPress エラー修復
    • Link Map Insights
  • 無料相談

WordPress サイドバーウィジェットに「この記事で紹介している商品」を表示する方法

2024 10/15
ブログカスタマイズ
2024/10/15

記事ページのサイドバーに「この記事で紹介している商品」を表示する方法をご紹介します。

記事別サイドバー広告

WordPress のサイドバーは、基本的に全ページ同じものが表示されます。そのため、レビュー記事でダイエット商品を紹介しているにも関わらず、サイドバーにはサーバーの広告が表示されている、なんていうこともあるかもしれません。

できれば、「記事 A では商品 A を」「記事 B では商品 B を」としたいですよね。そこで、投稿画面からサイドバーに表示する広告を変更できるようカスタマイズしてみましょう。

サンプルは以下の 2 つです。

  • 商品 A を紹介しているページ  
  • 商品 B を紹介しているページ  
目次

カスタマイズ概要

ページごとにサイドバーの内容を変える方法はいくつかあります。

最初に「Widget Logic」などのプラグインを使って条件分岐する方法を思い浮かべるかもしれません。

今回やりたい「記事ごとに紹介する商品を出しわける」カスタマイズも、Widget Logic を使ってできないことはありません。ただ、記事数・商品数によっては、ウィジェット管理画面がどえらいことになってしまいます。

WirdPressウィジェット
商品広告(ウィジェット)が増えると管理しきれなくなる

そこで、以下のようなカスタマイズをしてみます。

  • サイドバーの広告は記事ごとに変更する(広告が不要な記事は非表示)
  • 広告は投稿画面から変更できるようにする
  • ショートコード化して、サイドバー以外でも使えるようにする

WordPress のカスタムフィールドを使って、フィールドの内容をショートコードにしてしまえば OK ですね。

プラグインを使って設定していくので、テーマを変えてもそのまま使えます。以下の順で解説していきます。

  1. Advanced Custom Fields で広告入力欄を作る
  2. Code Snippets でショートコード化する
  3. ショートコードをウィジェットに入れる
  4. (おまけ)広告を追尾させる

Advanced Custom Fields で専用の入力欄を作る

それでは、投稿画面に専用の入力欄(カスタムフィールド)を作っていくところから始めましょう。

ここでは「Advanced Custom Fields」を使います。

インストール・有効化

プラグイン新規追加画面で「Advanced Custom Fields」と検索し、そのままインストール・有効化してください。

2024 年 10 月現在、WordPress 公式ディレクトリでは「Secure Custom Fields」という名前に変更されています。

Advanced Custom Fields インストールと有効化

カスタムフィールド作成

有効化後、管理画面サイドバーに「カスタムフィールド」という項目が追加されるので、そこから「新規追加」に入ります。

カスタムフィールド 新規追加

新規追加画面に移ったら、タイトルを入力します。ここでは「サイドバー広告ボックス」としましたが、自分のわかりやすいもので OK です。

フィールドグループ タイトル入力

次に、「+ フィールドを追加」ボタンをクリック。

「フィールドを追加」ボタン

「フィールドラベル」「フィールド名」を入力します。

こちらも好きな名前で大丈夫ですが、フィールド名は半角英字を使ってください。のちほど別の部分でこのフィールド名を使います。

フィールドラベルサイドバー広告ボックス
フィールド名nfx_aff_box
フィールドラベルとフィールド名を入力

その下の「フィールドタイプ」を「Wysiwyg エディタ」に変更します。

フィールドタイプを「Wysiwygエディタ」に変更

設定はこれだけ。あとはデフォルトのままでかまいません。

下部にある「位置」「Settings」もそのままで大丈夫です。

下図のとおり設定が完了したら、右側の「公開」ボタンをクリックしましょう。

ACF設定完了・公開

投稿画面に入力欄が追加されているか確認

Advanced Custom Fields の設定が完了すると、投稿画面下部に専用の入力欄が表示されます(※ サンプルはクラシックエディターですが、ブロックエディターでも使えます)。

投稿画面下の専用入力欄

もし表示されていない場合は、上部の「表示オプション」をクリックして「サイドバー広告ボックス」にチェックを入れてください。

表示オプション

次はこの「サイドバー広告ボックス」に入力したものを、サイドバーに表示する作業を行います。

カスタムフィールドの出力をショートコード化する

専用入力欄の内容は PHP で呼び出せばよいのですが、ウィジェットで PHP コードは使えないのでショートコード化します。

ウィジェットで PHP コードを使えるようにするプラグインもありますが、セキュリティ面で危ないので非推奨です。

(A)functions.phpに書く場合

カスタマイズに慣れているのであれば、以下のコードを functions.php にコピペするだけで OK です。

function nfx_sidebar_affbox() {
    $shopdata = get_field( 'nfx_aff_box', get_the_ID() );
    return $shopdata;
}
add_shortcode('sidebar_aff', 'nfx_sidebar_affbox');

2 行目の nfx_aff_box は Advanced Custom Fields で設定したフィールド名です。別の名前に変更している場合は、その名前を使ってください。

これで、以下のショートコードを入れた部分に広告が表示されるようになります。

[sidebar_aff]

(B)Code Snippetsを使う場合

カスタマイズに慣れていない or テーマを変えても使い続けたい場合は、「Code Snippets」などのプラグインを使うとよいでしょう。

WordPress の functions.php を簡単に管理できるプラグイン「Code Snippets」

コードは、前述の functions.php に入れるものと同じです。

下図のようになっていれば OK です。

Code Snippets 入力例

ウィジェットにショートコードを入れておく

ここまできたら、あとは広告を表示したい場所にショートコードを入れておくだけです。

サイドバーのウィジェットエリアなどに「カスタム HTML」ウィジェットを追加し、ショートコードだけ入れておいてください。タイトルは不要です。

[sidebar_aff]
カスタムHTMLウィジェットにショートコードを入力

投稿画面で広告を入れてみる

では、投稿画面に入って実際に広告を入れてみましょう。

記事別広告入力例

ASP から発行されたアフィリエイトリンクや、カエレバで生成したリンクなど、本文中に広告を入れるのと同じやり方で大丈夫です。

ウィジェットのタイトルは未入力なので、「この記事で紹介している商品はこちら」など入れておくとよいでしょう。

このようにサイドバーに表示されたら完了です。

記事別広告表示サンプル

フォントの色や大きさなどは、エディタで自由に調整してください。

広告を追尾させたい場合

PC 閲覧時に、広告を追尾させる(スクロールしてもついてくる)こともできます。

テーマによっては追尾専用のウィジェットエリアがありますから、そこにショートコードを入れたウィジェットを配置してください。

テーマに追尾機能がない場合は、プラグイン「Q2W3 Fixed Widget for WordPress」を入れれば簡単です。

プラグイン新規追加画面で「Q2W3 Fixed Widget」を検索して、インストール・有効化します。

Q2W3 Fixed Widget for WordPress インストール

有効化したらウィジェット管理画面に入り、ショートコードの入っているウィジェットを開いて「Fixed Widget」にチェックを入れて保存。

Fixed Widget にチェックを入れる

これだけで広告を入れてあるウィジェットが追尾してくれます。

追尾広告サンプル

実際の表示は以下をご覧ください。

  • 商品 A を紹介しているページ
  • 商品 B を紹介しているページ

広告が表示されないときの対処法

手順通りに進めても広告が表示されない(ショートコードがそのまま表示されてしまう)場合、いくつかの原因が考えられます。

ショートコードがむきだし

フィールド名などが間違っている

サンプルで紹介しているフィールド名を任意のものに変更している場合、functions.php(Code Snippets)に入れるコードもそのフィールド名に合わせてください。

同様に、ショートコード名などを変更したときも、入力ミスがないか確認しましょう。

余分な空白などが入っている

コードを貼り付けるタイミングなどで、前後に全角スペース等が入っていると正しく認識されません(エラーが起きます)。

フィールド名なども、全角の英数字が使われていないか確認しましょう。

また、ウィジェットに入れるショートコードのカッコ( [] )は半角でなければ動きません。

同じ名前のショートコードがある

すでに同じ名前のショートコードが定義されていると、広告が表示されません。

ショートコード名を変更して対応してください。

ウィジェット内でショートコードを使えるようになっていない

テーマによって、ウィジェット内でショートコードが使えるよう設定されていないことがあります。

以下のコードを functions.php または Code Snippets などに入れてください。

add_filter('widget_text', 'do_shortcode' );

まとめ

ショートコード化しているので、ウィジェットだけではなく本文中の好きな場所に入れることもできます。商品のリンクが変わったら一括変更できるので便利ですよ。

テンプレートファイルに埋め込んで、タイトルの前後や記事下に表示されるようにしておくのもよいかなと思います。

アフィリエイトリンクだけではなく、有料 note や自社商品へのリンクにしておいたり、関連記事として内部リンクを表示させておくのもよいでしょう。

ブログカスタマイズ

著者

SEO コンサルタント 瀬尾

瀬尾 真

SEO コンサルタント

Web 歴 20 年以上の SEO コンサルタント。ライティング業務ほか、サイト制作・コンテンツ販売・メディア運営代行業務を行っています。当サイト(セオリコ)では、おもにブログ初心者向けのノウハウを配信。

ココナラでは WordPress エラー修正やハッキング修復、Search Console 分析サービスをご提供しています(年間400件以上対応)。

X (Twitter)
ココナラ
マシュマロ
お問い合わせ

関連記事

  • wp_is_mobileの使い方
    PC とスマホの表示を切り替える is_mobile と wp_is_mobile の違い
  • WordPress コード挿入
    WordPress の head 内や /body 直前にコードを挿入する 4 つの方法
  • WordPress でページごとに個別の CSS を設定する方法 7 選
  • FAQPage 構造化データマークアップ
    WordPress の FAQPage 構造化データマークアップ(FAQ リッチリザルト)
  • WordPress 管理画面の投稿一覧に最終更新日や文字数を表示するカスタマイズ
  • リンクコピーボタン
    WordPress の見出しにセクションリンクコピーボタンを表示する方法
  • WordPress カテゴリーページに説明文を表示する
    プラグインを使わずに WordPress カテゴリーページに説明文を表示する方法
  1. セオリコ
  2. WordPress
  3. ブログカスタマイズ
  4. WordPress サイドバーウィジェットに「この記事で紹介している商品」を表示する方法
Category
  • ブログ運営法
  • ブログ収益化
  • SEO
  • Webデザイン
  • WordPress
  • PC
Service
  • ブログ個別サポート
  • Google AdSense 審査対策
  • WordPress エラー修復
  • Search Console 分析
WordPress Plugin
  • Link Map Insights
Information
  • ブログ用語集(ガイド)
  • お問い合わせ
  • サイトマップ
  • セオリコ運営者情報
  • コンテンツポリシー
  • プライバシーポリシー
  • X (@seoryco)

© seoryco.

  • お問い合わせ
  • サービス一覧
  • 検索
  • 目次
  • トップへ
目次