海外FXキャッシュバックサイト
海外FX業者はキャッシュバックサイト経由が断然お得
Taritaliは1lotにつき最大9ドル還元
損切りやゼロカットをしても資金が残ります

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

Class Ad

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

当ブログはそれなりに広告を貼っているので、文言やバナー画像を一斉に差し替えたい時などに記事にベタ書きだと非常に面倒です。

なので、以下のような広告用のクラスを使ってショートコードで広告を差し込んでいます。

Ad.php

Class Ad

<?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();

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

[ad name="ad1" type="text"]
[ad name="ad1" type="banner"]
[ad name="ad1" type="text" link_text="リンクテキストを変更"]

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

ショートコードを入れ子にすることも可能です。

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

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

add_filter('widget_text', 'do_shortcode');

ブログに既存の広告が大量にある…と言う人も、これから追加する広告だけでもショートコードに差し替えていくと後々楽だと思います。

海外FXキャッシュバックサイト
海外FX業者はキャッシュバックサイト経由が断然お得
Taritaliは1lotにつき最大9ドル還元
損切りやゼロカットをしても資金が残ります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)