WordPressはカスタマイズ性が優れているのは周知の事実だと思います。function.php内にしていする関数?などによっていろいろな事が出来るようになります。
また、テーマによってカスタマイズする場所などは変わってきたりしますが、今回はStinger6とStinger7においてスマホファースト用に少しカスタマイズしてみました。
というのもサイドバー右上の一番上のウィジェットのスマホ用アドセンス内にそのまま、アドセンスコードを挿入したままですとスマホで表示される時にどうしても4つ表示されてしまっていたからです。
参考記事)
上記にてWidget LogicというプラグインにてカテゴリIDなどを指定して4つ表示されることのないようにした(出来た)わけですが、
もうそのWidget Logicというプラグインは今のところ必要なくなりました。
取り急ぎ簡単にカスタマイズ内容を忘れない内に自分用の備忘録として残しておきたいと思います。
まずは、Stinger6および(Stinger7)の親テーマ内のfunction.php内を見ると、
以下のようにショートコードが記載されています。
if ( !function_exists( 'st_showads' ) ) {
/**
* アドセンス
*/
function st_showads() {
ob_start();
get_template_part( 'st-ad' );
$ads = ob_get_clean();
return $ads;
}
add_shortcode( 'adsense', 'st_showads' );
}
これは[adsense]と投稿記事に記載した際に、
テンプレートの「st-ad」を読み込みなさい。という命令文です。
そして、
その「st-ad」のテンプレート内を見ると以下のように記載されています。
<?php if ( st_is_mobile() ) { //スマートフォンの時は300pxサイズを ?>
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 4 ) ) : else : ?>
<?php endif; ?>
<?php
} else { //PCの時は336pxサイズを
?>
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 3 ) ) : else : ?>
<?php endif; ?>
<?php
}?>
このままですと、スマホの場合での表示の際にショートコードにて[adsense]と入力すると、
サイドバーのウィジェットのスマホ用アドセンスというウィジェットの内容が読み込まれます。
なので、これまでの記事を全部修正するのは大変になってしまいます。
ない頭を捻って考慮した結果、スマホーとフォンの場合は300pxをの後の
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 4 ) ) : else : ?>
上記部分のsidebar(4)という読み込むサイドバーウィジェットの数値を変更して、
PCの時は336pxサイズをという部分のsidebar(3)を読み込むようにします。
//PCの時は336pxサイズを
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 3 ) ) : else : ?>
スマートフォンの場合でもsidebar(3)を読み込むようにします。
なので、
スマートフォンの場合でもPCの場合でも同じウィジェット内を読み込むように設定することになります。
(注意としてPCの場合のウィジェット内のアドセンスコードはスマホでも問題ないように表示される広告サイズにしておきます。例えばレスポンシブにしておくとか…。)
そうすることによって、
元のスマホ用アドセンスというウィジェット内に他の忍者AdMAX広告などを入れても、
PCにおいてもスマホ(スマートフォン)においてもショートコードで呼び出したアドセンスコードはPCの時のウィジェット内容が指定して表示されるようになります。
具体的には以下のようにしました。
<?php if ( st_is_mobile() ) { //スマートフォンの時は300pxサイズを ?>
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 3 ) ) : else : ?>
<?php endif; ?>
<?php
} else { //PCの時は336pxサイズを
?>
<div class="ad_center">
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 3 ) ) : else : ?>
</div>
<?php endif; ?>
<?php
}?>
これで、サイドバー右上には常に別のコードなど何でも挿入してもアドセンス広告がスマホにおいて4つ表示になることはなくなります。
そして、
そのままですとスマホの表示の際に2つしかアドセンス広告が表示されなくなってしまうので、single.phpの任意の表示させたい場所に以下のように分岐条件コードを使って挿入します。
<!--スマホ用アドセンスをここに追加ここから-->
<div class="clearfix" style="margin-bottom:0px;">
<?php if ( st_is_mobile() ) { //スマホの場合 ?>
<div class="ad_center">
<p>スポンサーリンク</p>
//ここにスマホの表示の際にひょうじしたいアドセンスコードを記載
</div>
<!--スマホ本文下用アドセンスコード-->
<?php } else { //PCの場合 ?>
<?php } ?>
</div>
<!--スマホ用アドセンスここに追加ここまで-->
※2行目4行目5行目7行目はなくても良いのですが当ブログではこのように指定しています。
また、Stinger7においては以下のようにレクタングル大を記事下に横並びに出来るようになっている為、ちょっと違うようなので各々で確認してみてください。
Stinger7のデフォルトのsingle.php内の記述内容
<!-- 広告枠 -->
<div class="adbox">
<?php get_template_part( 'ad' ); //アドセンス読み込み ?>
<?php if ( st_is_mobile() ) { //スマホの場合 ?>
<div class="adsbygoogle" style="padding-top:10px;">
<?php get_template_part( 'st-smartad' ); //スマホ用広告読み込み ?>
</div>
<?php } else { //PCの場合 ?>
<div style="padding-top:10px;">
<?php get_template_part( 'ad' ); //アドセンス読み込み ?>
</div>
<?php } ?>
</div>
<!-- /広告枠 -->読み込むテンプレートが「ad」と「st-smartad」になっています。
また、Stinger6においてもデフォルトのsingle.php内の記述は以下のようになっていました。
<div style="padding:20px 0px;">
<?php get_template_part( 'ad' ); //アドセンス読み込み ?>
<?php if ( st_is_mobile() ) { //スマホの場合 ?>
<?php } else { //PCの場合 ?>
<div class="smanone" style="padding-top:10px;">
<?php get_template_part( 'ad' ); //アドセンス読み込み ?>
</div>
<?php } ?>
</div>なので、
デフォルトの場合はテンプレート「ad」の内容をスマホの場合sidebar(4)という所をsidebar(3)編集すれば良いのかと思われます。
デフォルトのテンプレート「ad」の内容は以下のようになっています。
<?php if ( st_is_mobile() ) { //スマートフォンの時は300pxサイズを ?>
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 4 ) ) : else : ?>
<?php endif; ?>
<?php
} else { //PCの時は336pxサイズを
?>
<?php if ( function_exists( 'dynamic_sidebar' ) && dynamic_sidebar( 3 ) ) : else : ?>
<?php endif; ?>
<?php
}
注意)この記事ではショートコードを使う為に、何度かカスタマイズしてきたので参考程度に考えてください。
他参考)
ショートコードを使用しない場合はデフォルトのままで何も問題ないかもしれません。
私の場合は、カスタマイズしていく内にどこかで変わってしまったのかもしれません…。
自分の備忘録として残しているのですべての皆さんに当てはまることではないかもしれませんが、
コードの記述方法や読み込むテンプレートなどは参考になるのではないかと思います。
万人に通用するカスタマイズの備忘録内容ではないかもしれませんが、
参考になれば幸いです。
追記)こんなこともしていました。
あなたにおすすめ
関連記事
-
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
-
-
日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン
ある程度、年式がたった車においてはディーラーオプションナビ(DOP)やメーカーオプションナビ(MOP)の地図データが古くなったり、ナビのモニタインチ数が大きくなったりします。地図データが古くなるのはも…
-
-
車のキーナンバー確認方法。キーレス紛失や壊れた時
初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …
入学入社まであと…入学入社祝いはどんなPresent(プレゼント)でどのように過ごされますか?
ホワイトデープレゼントは以下などの豊富なキャンペーン商品から選ぶと良いと思います。
おすすめの記事一部広告
- カーメイトのエンジンスターターでエラー15表示と対処方法181
- ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法146
- キーIDが正しくありません。エクストレイルT32インテリジェントキー電池交換CR2032107
- 車のキーナンバー確認方法。キーレス紛失や壊れた時96
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく94
- アイドリングストップシステム異常警告灯表示対処方法82
- アルミテープチューン貼る場所で燃費向上と走行性能アップTOYOTAの特許を試してみた71
- TOYOTAキーレスリモコンの設定方法とキーナンバー(キー番号)69
- 日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン63
- エクストレイルT32マイナーチェンジ後ステアリング外し方57














新着コメント