WordPress トップバナーランダムに表示する方法(feat。 GeneratePress テーマ)

Last Updated: 2024 年 12 月 01 日 댓글

WordPressでバナーをランダムに表示するさまざまな方法があります。簡単にプラグインを使用することができますが、ログオンを使用したくない場合は、JavaScriptとHTML / CSSを使用してバナーをランダムに表示できます。

プラグインを使用してランダムバナーを表示したい場合は、次の記事で紹介するプラグインをインストールしてテストできます。

この記事では、 GeneratePress テーマでJavaScriptを使用してTop Barウィジェット領域にバナーをランダムに表示する方法を見てみましょう。他のテーマでも同様に応用が可能です。

WordPress トップバナーランダムに表示する方法(feat。 GeneratePress テーマ)

GeneratePress テーマの場合 外観 » ウィジェットTop Bar(トップバー) ウィジェット領域にカスタムHTMLブロックを追加して、トップバナーを表示できます。

Top Barエリアにバナーを表示する方法については、次の記事を参照してください。

GPテーマのTop Barウィジェット領域にカスタムHTMLブロックを追加して、複数のバナーをランダムに表示することを目的としています。

訪問者がページを読み込むたびにバナーがランダムに変わるようにします。 (ブラックフライデーイベントをする テーマウェブホスティングのバナーを交互に表示するように実装したが、今は1つだけ表示しています。ブルフの割引イベントが近いうちにほとんど終了するようです。😄)

HTMLコード

外観 » ウィジェットのトップバー領域にカスタムHTMLブロックを追加し、 HTML コードを入力してください。

<div id="banner1" class="notice-inner grid-container" style="display: none;">
    Banner 1<a href="https://example.com/banner1" aria-label="Learn more about Banner 1">
        Learn More
    </a>
</div>
<div id="banner2" class="notice-inner grid-container" style="display: none;">
    Banner 2<a href="https://example.com/banner2" aria-label="Learn more about Banner 2">
        Learn More
    </a>
</div>

フレーズやURLなどは好きなように変更してください。

CSSコード

トップバー エリアに表示されるバナーのスタイルは、 GeneratePress テーマのテーマオプションとカスタムCSSで調整する必要があります。

WordPress 管理者ページ » 外観 » カスタム » Layout » Top Barでレイアウトを設定できます。

背景色やテキスト色などは 外観 » カスタム » Colorsトップバー セクションで設定できます。

カスタムCSSは 外観 » カスタム » 追加 CSSに追加します。私は次のコードを使用しました。実際に使用する場合は、色や文字サイズなどは適切に変更してください。

/* Top Bar - Dark and Modern HighTech Style in GeneratePress */
.top-bar {
    background: #0a0a0a;  /* Almost black dark background */
    color: #1abc9c;  /* Vibrant teal text */
    font-family: 'Consolas', monospace;  /* Tech-friendly, monospace font */
    font-size: 1.0rem !important;
    font-weight: 600 !important;
    padding: 10px 20px;
    border-bottom: 4px solid #1abc9c;  /* Vibrant teal bottom border */
}

.top-bar a {
    display: inline-block;
    padding: 8px 20px;
    margin: 0 10px;
    border-radius: 0;  /* Sharp edges to maintain a techy look */
    background: #1abc9c;  /* Vibrant teal background */
    color: #0a0a0a;  /* Dark text */
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1px; /* Slight letter spacing for that high-tech aesthetic */
    transition: 
        background 0.3s, 
        color 0.3s, 
        box-shadow 0.3s;
}

.top-bar a:hover {
    background: #16a085;  /* A slightly darker teal on hover */
    color: #ecf0f1 !important;  /* Light grey text on hover */
    box-shadow: 0 0 10px 2px rgba(26, 188, 156, 0.7);  /* Slight shadow with a teal hue */
}

/* Media Queries */
@media (max-width: 768px) {
    .top-bar {
        display: none;  /* Hide top bar on mobile devices */
    }
}

JSコード

次のJavaScriptコードを使用すると、訪問者が訪問するたびにページを読み込むたびに上部バナーがランダムに変わります。

<script>
document.addEventListener('DOMContentLoaded', function () {
    const banners = ['banner1', 'banner2'];
    const randomBanner = banners[Math.floor(Math.random() * banners.length)];

    // Hide all banners
    banners.forEach(bannerId => {
        document.getElementById(bannerId).style.display = 'none';
    });

    // Show the selected banner
    document.getElementById(randomBanner).style.display = 'block';
});
</script>

JavaScriptコードは 形状 » Elementsからフックとしてwp_footer領域に追加するか WPコードなどのプラグインを使用してフッタ領域に追加できます。

上記のJSコードは、訪問者が訪問するたびにランダムにバナーを表示する単純な機能です。 localStorageを使用してバナーをユーザーごとに維持するようにコードを改善することもできます。

サイトへの影響を最小限にしたい場合 チャイルドテーマの関数ファイルに次のコード(例)を追加してenququeする方法をご利用ください。

function enqueue_random_banner_alternative() {
    if (wp_is_mobile()) {
        return; // 모바일 기기에서는 로드하지 않음
    }

    wp_enqueue_script(
        'random-banner-alt',
        get_stylesheet_directory_uri() . '/js/random-banner-alt.js',
        array(),
        '1.0',
        true
    );
}
add_action('wp_enqueue_scripts', 'enqueue_random_banner_alternative');

チャイルドテーマを作成して作業しないと、今後のテーマが更新されると修正または追加したコードが消えるので、必ずチャイルドテーマ(子テーマ)を作成してチャイルドテーマの関数ファイルにコードを追加してください。

random-banner-alt.jsファイルを作成してJavaScriptを追加する( 태그와 タグは削除)し、チャイルドテーマフォルダのjsサブフォルダにアップロードしてください。

トップバナーがモバイルから読み込まれないようにコードが追加されました。また、例では2つのバナーの中からランダムに表示されるようにしました。必要に応じて、3つ以上のバナーがランダムに表示されるようにコードを適切に変更できます。

最後に、

以上、簡単なHTMLとJavaScriptで WordPressにランダムなバナーを実装する方法を見てみました。 GeneratePress テーマを例として説明しましたが、原理を理解すれば他のテーマにも自由に応用が可能です。

GeneratePress テーマは速い速度のため、多くのブログ、特に収益性の高いブログで使用されています。このブログには現在、GPテーマがインストールされています。ブログを運営する場合や、速度が重要なサイトを運営する場合 GeneratePress テーマはまともな選択です。

参照


コメントを残す

コメント