FrontPage に 広告用 ウィジェットエリア を 表示させてみた
この記事は 2016年 2月 19日 に書かれた記事です。
この記事は WordPress Version 4.4.2 の時の記事です。
物凄く アフィカスサイト みたいになってしまいましたが
FrontPage に 除外指定した ウィジェットエリアID 以外を 順番に 表示する コードを 書いてみました
最近 アフィリエイトを 掲載する サイト作成依頼が 多く来るので
いろいろ考えてみました
そのうちの 1パターンとして
現在のテーマで タイトル の 上下 コメント欄 の 上下 に 出している アフィリエイト欄を そのまま流用して
FrontPage に 出してみました
まずは 除外する ウィジェットエリアID を 関数に入れておきます
そして その関数を元に ウィジェットエリアID を 配列に 格納していきます
下の例は
使用停止中のウィジェット ( wp_inactive_widgets ) と
サイドバー用のウィジェットエリア ( widget_sidebar ) を 除外しています
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | //-------------------------------------------------------------------------------------------------- // Widget : 除外 ID //-------------------------------------------------------------------------------------------------- if ( !function_exists( 'remove_widget' ) ) { function remove_widget() { return array ( 'wp_inactive_widgets' , 'widget_sidebar' , ); } } //-------------------------------------------------------------------------------------------------- // ウィジェットエリア ID取得 //-------------------------------------------------------------------------------------------------- if ( !function_exists( 'get_the_widget_area_ID' ) ) { function get_the_widget_area_ID() { $widget_ids = array (); foreach ( wp_get_sidebars_widgets() as $key => $value ) { if ( in_array( $key , remove_widget() ) ) continue ; $widget_ids [] = $key ; } return $widget_ids ; } } |
そして メインループ の 開始時に (現在の表示しているPost数の) カウンター と
ウィジェット ID の 配列 と (ウィジェットを何個表示したかの) カウンター を 初期化 します
01 02 03 04 05 06 07 08 09 10 | <?php if ( have_posts() ) : $counter = 1; $widgets = array ( 'counter' => 0, 'ids' => get_the_widget_area_ID(), ); while ( have_posts() ) : the_post(); ?> |
メインループ の ループ前に Post数が 2の倍数か調べて
2の倍数ならば ウィジェット を 表示する
01 02 03 04 05 06 07 08 09 10 11 | if ( $counter % 2 == 0 ) { if ( is_active_sidebar( $widgets [ 'ids' ][ $widgets [ 'counter' ]] ) ) { echo ( '<div class="col-md-12">' . PHP_EOL ); dynamic_sidebar( $widgets [ 'ids' ][ $widgets [ 'counter' ]] ); echo ( '</div>' . PHP_EOL ); } $widgets [ 'counter' ]++; } $counter ++; endwhile ; endif ; |
という 処理を行っています
アフィリエイトを 貼ると 読みにくくなっていきますよね…
(´・ω・`)
アフィリエイトサイトを 作る際は どういう所に気をつければ 見やすい綺麗なサイトになるのでしょう??
何か 参考になりそうな記事があったら教えて下さい!!
センスですよ!!
とか ないのわかってるからぁ!!
(`;ω;´)