ConoHa WINGとのコラボ開始

【SANGO】アフィリエイトリンクを改変せずにボタンを使う方法

SANGOでアフィリエイトボタンを使う

SANGOにはたくさんの種類のボタンが用意されています。これらのボタンは、リンクタグに対して、クラス名を追加することで装飾が施されています。

ボタンの挿入方法とデザイン一覧 ボタンの挿入方法と種類一覧

しかし、一部のアフィリエイトサービスではリンクタグの改変が禁止されている場合があります。もし、アフィリエイトリンクを触れることなく、SANGOデフォルトのボタンを使いたい場合には、どうすれば良いのでしょうか。

SANGOでアフィリエイトリンクを改変することなくボタンを利用する方法

MEMO

この方法を使うには、少しだけ準備(カスタマイズ)が必要になります。このカスタマイズを行っても、デフォルトのボタンには影響はなく、これまで通りボタンは挿入できます。

はじめる前に:子テーマを導入しておくのがおすすめ

子テーマを導入しておくと、今後テーマのアップデートがあった際にカスタマイズ内容が上書きされてしまう心配がなくなります。

WordPressの子テーマとは?安全にカスタマイズを行う方法

また、カスタマイズの前に、ファイルのバックアップを取っておきましょう。

WordPressでバックアップを取る4つの方法(初心者向け)
WordPressでバックアップを取る4つの方法(初心者向け)

準備1:functions.phpにコードを貼り付け

アフィリエイトボタン用の新しいショートコードを使用できるようにするために、子テーマのfunctions.phpに以下のコードを貼り付けます。

functions.php
/*アフィリエイト用ボタン*/
add_shortcode('afbtn','sng_insert_btn_af');
function sng_insert_btn_af($atts , $content = null) {
	if(isset($atts) && $content) {
		$href = (isset($atts['href'])) ? 'href="'.esc_url($atts['href']).'"' : null;
		$class = (isset($atts['class'])) ? esc_attr($atts['class']) : null;

		$target = '';
		if(isset($atts['target'])) {
			$target = ($atts['target'] == "_blank") ? ' target="_blank"' : "";
		}

		$rel = '';
		if(isset($atts['rel'])) {
			$rel = ($atts['rel'] == "nofollow") ? ' rel="nofollow"' : "";
		}

		$yoko = '';
		if(isset($atts['0'])) {
			$yoko = ($atts['0'] == "yoko") ? "yoko" : null;
		}

		if($class) {
			$output = (!$yoko) ? '<p>' : '';
			$output .= <<<EOF
			<div class="btn2 {$class}">{$content}</div>
EOF;
			if(!$yoko) {$output .= '</p>';}
				return $output;
		}//end if class
	}//end if atts && content
}
/*END アフィリエイト用ボタン*/

準備2:style.cssに専用のCSSを貼り付け

続いて、子テーマのstyle.cssに以下のCSSをまるっと貼り付けます。なるべく軽くするために、余白や改行は消しています。

style.css
/*アフィリエイトボタン用CSS*/
#inner-content .btn2{padding:0;margin:.5em .5em .5em 0}#inner-content .btn2 a{display:block;padding:.4em .8em}#inner-content .btn2 a:hover{display:block;text-decoration:none}.btn2.btntext a {color: inherit;}#inner-content .btn2.raised a{color:#fff}.btn2.flat1 a{color:#00bcd4}.btn2.flat1 a:hover{color:#fff}.btn2.flat2 a{color:#67c5ff}.btn2.flat2 a:hover{color:#fff}.btn2.flat3 a,.btn2.flat4 a,.btn2.flat5 a{color:#67c5ff}.btn2.flat4 a:hover{color:#679efd}.btn2.flat5 a:hover{color:#fff}.btn2.flat6 a{color:#668ad8}.btn2.flat6 a:hover{color:#fff}.btn2.flat7 a{color:#67c5ff}.btn2.flat8 a{color:#00bcd4}.btn2.flat9 a{color:#fff}.btn2.flat10 a{color:#ffa000}.btn2.flat10 a:hover{color:#fff}.btn2.flat11 a{color:#668ad8}.btn2.cubic1 a,.btn2.grad1 a,.btn2.grad2 a,.btn2.grad3 a,.btn2.grad4 a{color:#fff}#inner-content .btn2.emboss a{color:rgba(0,0,0,.4)}.btn2.text3d.blue-bc a{color:#4f9df4}.btn2.text3d.red-bc a{color:#f88080}.btn2.text3d.green-bc a{color:#90d581}.btn2.cubic2 a,.btn2.cubic3 a{color:#fff}.btn2 img{visibility:hidden;display:block;width:0;height:0;}/*END アフィリエイトボタン用CSS*/

以上で準備は完了です。それではアフィリエイトリンクをボタン化してみましょう。


挿入手順1:投稿編集画面でアフィリエイトリンクを貼り付け

アフィリエイトリンクを挿入

テキストエディタを開き、いつも通りアフィリエイトリンクを挿入します。

挿入手順2:アフィリエイトリンクをショートコード「afbtn」ではさむ

次にそのアフィリエイトリンクを、新しいボタンのショートコードではさみます。新しいショートコード名はafbtn。通常のボタンショートコード(btn)とボタン種類の指定の仕方は全く同じです。

テキストエディタ
[afbtn class="ボタン種類"]
ここにアフィリエイトリンク
[/afbtn]

例えば、メインカラーを背景色とした浮き出しボタンを使いたいときは、以下のようにします。

テキストエディタ
[afbtn class="raised main-bc strong"]
ここにアフィリエイトリンク
[/afbtn]

まとめ

まとめると以下のようになります。

  • ショートコード名はbtnではなくafbtn
  • ボタン種類の指定の仕方は、どちらも同じ
  • afbtnショートコードの中にアフィリエイトリンクを入れる

ボタン挿入例

下のようにテキストエディタで指定すると…

プレビューで見ると、下のように表示されます。

正直言って、少し面倒ですね・・・。通常のボタンはこれまで通り使えるので、改変禁止のアフィリエイトリンクをどうしてもボタンにしたいときに上の方法を活用すれば良いかと思います。

14 COMMENTS

アバター
はむ太郎 2020/04/13

アフィリエイトリンクボタンの上下に余白が入る

こんにちは。 いつもお世話になっております。 ほかの方の質問と回答も読ませていただきました。 改変にならないリンクボタンを挿入したところ、リンクボタンの上下に余白が入ります。 brなども勝手に入ってなかったのですが、どのように対処すればよいでしょうか? どうぞよろしくお願いいたします。

回答を見る
アバター
珊瑚 2019/11/01

アフィリエイトボタンリンクの横幅を100%にしたい

「アフィリエイトリンクを改変せずにボタンを使う方法」を読んでカスタマイズ済みです。 ボタンリンクの横幅を100%にするCSSを追加したところ、普通のボタンリンクは横幅が100%になったのですが、アフィリエイトリンク用にカスタマイズしたボタンリンクには適用されませんでした。 解決策を教えていただきたいです。よろしくお願いします。

回答を見る
アバター
ひろ 2019/03/10

ボタン下の余白が変

サイト非公開でお願いします。 7月11日の質問者様と同様に、スマホから見るとボタンの下に無駄な余白が生じてしまいます。 CSSとPHPはコピペしただけです。

回答を見る
アバター
はんも 2018/11/18

アフィリエイトリンクを改変せず、ボタンを横並び2列にしたい

いつもお世話になっております アフィリエイトリンクを改変せず、ボタンを横並び2列にしたい場合はどうしたらいいでしょうか?

回答を見る
アバター
アキラ 2018/10/02

ご返信ありがとうございます。 こちらでもスマホから飛ぶことが確認できました。 ご丁寧に対応いただきありがとうございます。

回答を見る
アバター
加藤 拡 2018/07/12

いつもお世話になっております。 アフィリエイトリンクですが、文字や画像に設定する場合は通常の[link]ボタンから挿入で機能しますよね? ASP画像バナーの場合も、テキストにコードコピペで大丈夫ですよね? ちょっと気になりましたので、確認させていただきました。 どうぞよろしくお願いいたします。

回答を見る

コメントを残す

* は入力必須項目です。
コメント投稿ガイドラインを読んでから投稿してください。
メールアドレスは公開されませんが、名前は公開されます。

HTMLやPHPのコードを掲載するときはHTMLエスケープツールで特殊文字を変換してから貼り付けてください。