プラグインを使わずにWordPressのショートコードで広告を管理する方法

WordPressの広告の貼り付けはショートコードを使うのが効率的

WordPressで広告を貼っていると文言やバナー画像を一斉に差し替えたい時などがあると思いますが、

記事にHTMLをベタ書きしているとかなり面倒です。

以下のような広告用のクラスを用意して、ショートコードで広告を入れておくと楽に広告の差し替えができます。

Ad.php

<?php
class Ad
{

    const TYPE_TEXT = 'text';
    const TYPE_BANNER = 'banner';

    const ARG_NAME = 'name';
    const ARG_TYPE = 'type';
    const ARG_LINK_TEXT = 'link_text';

    const LINK_TEXT_REGEXP = '/>(.*?)</';

    public function __construct()
    {
        add_shortcode('ad', [$this, 'display']);
    }

    public function display($args)
    {
        $attrs = shortcode_atts([self::ARG_NAME => '', self::ARG_TYPE => self::TYPE_TEXT, self::ARG_LINK_TEXT => ''], $args);
        $content = '';
        if (isset($this->__adList[$attrs[self::ARG_NAME]][$attrs[self::ARG_TYPE]])) {
            $content = do_shortcode(shortcode_unautop($this->__adList[$attrs[self::ARG_NAME]][$attrs[self::ARG_TYPE]]));
            // for link_text option
            if (!empty($attrs[self::ARG_LINK_TEXT])) {
                if (preg_match(self::LINK_TEXT_REGEXP, $content, $linkText)) {
                    $content = str_replace($linkText[1], $attrs[self::ARG_LINK_TEXT], $content);
                }
            }
        }

        return $content;
    }

    private $__adList = [
        'ad1' => [
            self::TYPE_TEXT => '<a href="https://spbtc.trade/" rel="nofollow noopener" target="_blank">広告1テキストリンク</a>',
            self::TYPE_BANNER => '<a href="https://spbtc.trade/" rel="nofollow noopener" target="_blank"><img src="https://spbtc.trade/img/banner.jpg" alt="広告1バナー"/></a>',
        ],
        'ad2' => [
            self::TYPE_TEXT => '<a href="https://spbtc.trade/" rel="nofollow noopener" target="_blank">広告2テキストリンク</a>',
            self::TYPE_BANNER => '<a href="https://spbtc.trade/" rel="nofollow noopener" target="_blank"><img src="https://spbtc.trade/img/banner.jpg" alt="広告2バナー"/></a>',
        ],
    ];
}

広告は$__adListに配列で追加することで機能。
プラグインを使わずにショートコードで広告を管理したい、と言うレベルの人なら特に難しくはないかと。

functions.phpからAdを読み込む

require_once('Ad.php');
new Ad();

記事中にショートコードを埋め込む

link_textオプションでリンクテキストを変更可能。

入れ子のショートコードにも対応しています。

サイドバーでショートコードを使いたい場合

functions.phpに以下のように記述。

add_filter('widget_text', 'do_shortcode');

ブログに既存の広告が大量にある…と言う人も、

これから追加していく広告だけでもショートコードに差し替えておくと後々楽だと思います。

WordPress関連記事


WordPressでアフィリエイトをするなら3桁PVでも月収10万円を達成できる
キャッシュバックサイトアフィリエイトがオススメ

サイトについて

スマートフォンで海外FX&ビットコイン取引をする方法の解説。TariTali推し。

検索

カテゴリー

WordPress (6)
アプリ 
  • -cTrader (1)
  • -MetaTrader(メタトレーダー) (7)
  • -TradingView(トレーディングビュー) (2)
キャッシュバックサイト(リベートサイト) (27)
トレード・テクニカル考察 (28)
仮想通貨ゲームアプリ (3)
仮想通貨取引所 
  • -BINANCE(バイナンス) (2)
  • -bitbank trade(ビットバンクトレード) (1)
  • -bitbank(ビットバンク) (2)
  • -bitFlyer(ビットフライヤー) (3)
  • -BITPoint(ビットポイント) (4)
  • -Bitterz(ビッターズ) (2)
  • -BitTrade(ビットトレード) (1)
  • -c0ban取引所 (1)
  • -Coincheck(コインチェック) (1)
  • -CryptoGT(クリプトGT) (1)
  • -GMOコイン (2)
  • -Liquid by Quoine(リキッドバイコイン)(旧QUOINEX(コインエクスチェンジ)) (1)
  • -SBIバーチャル・カレンシーズ(SBIVC) (1)
  • -Zaif(ザイフ) (2)
  • -みんなのビットコイン (1)
仮想通貨関連アプリ (3)
投資日記 (5)
比較・おすすめランキング (29)
海外FX業者 
  • -Anzo Capital(アンゾーキャピタル) (2)
  • -AXIORY(アキシオリー) (4)
  • -BigBoss(ビッグボス) (2)
  • -DealFX(ディールFX) (2)
  • -Evolve Markets(エボルブ・マーケット) (1)
  • -Exness(エクスネス) (2)
  • -FBS (3)
  • -GEMFOREX(ゲムフォレックス) (2)
  • -HF Markets(HotForex) (2)
  • -iForex(アイフォレックス) (3)
  • -Land-FX(ランドFX) (2)
  • -Myfx Markets(マイFXマーケッツ) (2)
  • -TitanFX(タイタンFX) (2)
  • -TradersTrust(トレーダーズトラスト/TTCM) (2)
  • -Tradeview(トレードビュー) (1)
  • -Vantage FX(バンテージFX) (2)
  • -XM(エックスエム) (3)
節約 (7)
送金サービス (5)