Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 広告挿入用の関数を知りたいです。
- このトピックには3件の返信、2人の参加者があり、最後に
しとねにより10年前に更新されました。
-
投稿者投稿
-
-
2016年9月5日 12:42 PM #44946
しとね
ゲスト初めまして、わいひら様。
いつもお世話になっております。今私が使っているwordpressでは、
固定ページにてフルカスタマイズのページを作成し、文章などもテンプレートに直書きしております。
そこで、そのページだけ広告を手動で設定したいと思うのですが、
それを呼び出す記述を教えていただきたいです。フルカスタマイズなら手書きでコードを貼ればいいじゃないかと思うかもしれませんが、
simplicityではページ下の広告などは、
PCは幅336の広告を2つ並びに、スマホでは幅300の広告を1つに、と、
自動で表示を変えてくれますよね。そのデバイスの判定も欲しいので、今回ご質問した次第です。
現在、記事では本文下の336(300)と、ページ上部の728(320)を表示させています。
それらを固定ページにも、ウィジェットで設定した広告を好きな位置に表示させるには、どの関数を呼び出せば表示されますでしょうか。お忙しいとは存じますが、ご回答いただければ幸いです。
-
2016年9月5日 2:43 PM #44948
hidekichi
ゲスト親テーマの、
ad-xxx.php
lib/ad.php
lib/widgets/mobile-ad.php
lib/widgets/pc-ad.php
lib/widgets/pc-double-ads.phpあたりが広告に該当するファイルですが、どういう時に何を表示するかはad-xxx.phpあたり、h2手前とか色々と広告の設定はlib/ad.php、widgetの部分は各lib/widgetsのファイルが担当している感じでしょうか。
> そのデバイスの判定
PCとモバイルの判定はis_mobile()です。is_mobile()がtrueだとモバイル端末と言うことです。is_mobile()は、例えばPCのブラウザ(chromeとか)でデベロッパーツールで携帯エミュレーションをして読み込ませ、そのままエミュレーションを解除してもis_mobile()で読み込んだ内容が継続されるので注意です。判定モードを切り替えるためには必ずロード(リロード)が必要だと言うことをお忘れなく。
> 固定ページにも、ウィジェットで設定した広告を
> 好きな位置に表示させるには、どの関数を呼び出せば
> 表示されますでしょうか。固定ページでも普通に投稿記事と同じ所に広告は出ると思うんですけれども、例えばどこに広告を表示したいと考えられていますか?
目印となる箇所が決まっていないのであれば、それは記事中にショートコードで入れるべきです。
一定の雛形があって、h2なりh3が定数以上ある時に任意の見出しの手前とかに入れるのであればそれは子テーマfunctions.phpでゴニョゴニョします。どこにどのように入れるかによってやり方は色々とあるので、まずそれがわからないと具体的な返答は難しいかと思います。
ダッシュボード→ウィジェットにあるウィジェットエリア以外の箇所に広告を入れたいと言う場合は、それがどこあたりになるのかを書いてください。
入れる広告がgoogleのアドセンスなら、レスポンシブ広告のコードを入れておけば、その親の要素のサイズに合うように入りますので、特別何かしらないとイケないということはなく、cssで親要素のサイズを決めてしまえば(広告のサイズにしてしまえば)たいていその広告が表示されるかと思います。
タイミングとしては、広告コードが実行されるまでに親要素のサイズをcssで決めておけば広告コードのスクリプトがそれらを調べて勝手に当てはめると言う寸法です。
-
2016年9月5日 4:40 PM #44951
わいひらキーマスター広告の表示/非表示のみを制御するのであれば、customizer.phpのis_ads_visibleを参考に、子テーマのfunctions.phpで同名の関数を定義することで、関数のオーバーライドができます。
※is_ads_visible関数をオーバーライドできるのは、2.2.9からです。 -
2016年9月6日 4:58 PM #44967
しとね
ゲスト>hidekichi様、わいひら様
ご返信くださりありがとうございます。<?php /* Template Name: test */ ?> <?php get_header(); ?> <h1><?php echo get_the_title() ?></h1> <div id="sns-group"> <?php if ( is_bottom_share_btns_visible() ) get_template_part('sns-buttons'); //SNSシェアボタンの取得?> <?php if ( is_body_bottom_follows_visible() ) //カスタマイザーで表示のとき get_template_part('sns-pages'); //SNSフォローボタンの取得?> </div> <?php get_footer(); ?>今回作成した固定ページは、このコードのようにほぼまっさらな状態からコンテンツを作りあげていくといったもので、自動で広告は表示させれなかったため、今回ご質問いたしました(先に伝えればよかったですね…)
お二人のご意見を頂き考えた結果、is_mobile()の判定を使用し、ユーザー定義関数を作成し表示させることにしました。
助かりました、またよろしくお願いいたします。
-
-
投稿者投稿
- トピック「広告挿入用の関数を知りたいです。」には新しい返信をつけることはできません。