勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressで記事毎に設定したバナー広告を表示させる方法

   2024/02/20  WordPress CMS

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指定したアフィリエイト用のコードを設定し表示させたかった。また、表示位置は適宜入れ替える可能性があったので記事本文に追記するのではなく、カスタムフィールドを設けてそちらに設定したい。以下に方法をメモ。

 

カスタムフィールド設定

Advanced Custom Fieldsを使用する。今回の例としてフィールド名「rakuten」、フィールドタイプ「テキストエリア」と仮定する。

Advanced Custom Fields (ACF)

テンプレート側設定

表示させたい場所のテンプレートファイル(footer.phpとか)に以下を記述する。

<?php $rakuten = get_field('rakuten');?>
<?php if( $rakuten ){ //広告が設定されている場合のみ表示?>
    <div class="rakuten">
        <?php echo $rakuten; ?>
    </div>
<?php } ?>

 

ダッシュボードの記事一覧で広告設定状況を表示

広告が設定されているかどうか後から確認しやすいよう、functions.phpに以下を追記しておく。

function add_posts_columns( $columns ) {
    $columns['rakuten'] = 'rakuten';
    return $columns;
}
function custom_posts_column( $column_name, $post_id ) {
    if ( $column_name == 'rakuten' ) {
        $rakuten = get_post_meta( $post_id, 'rakuten', true );
        echo ( $rakuten ) ? '○' : '×';
    }
}

 - WordPress CMS

  関連記事

Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...

WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...

WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法

先日「Series」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...

Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法

WordPressでAdvanced Custom Fieldsにて設定した項目 ...