Popup makerでポップアップをランダム表示する方法

どうも、Webラボです。

ポップアップをランダムに表示しようとして、同じ条件でポップアップを表示するようにしました。

そうするとクッキーは両方読み込まれるのですが、どちらか一方しか読み込まれなかったです。

ちゃんと条件とか制御しないとそう簡単にうまくはいきませんねw

popup maker自体にはランダム表示するほう方法はなさそうです(調査不完全)

公式に良さげなページがあったので共有しますね。

A/B Test or Randomly Display Popups

(function ($, document) {
   // Customize these variables.
   // ----------------------------------
   var popups = [163, 165], // Comma separated popup IDs.
       cookie_name = 'pum-split-test', // Cookie name for the test only.
       cookie_time = '1 month', // Cookie timer.
       // ------------------------------
       // End Customizations.
       chosen_popup = false; // Empty placeholder.
   function random_popup() {
       return popups[Math.floor(Math.random() * popups.length)];
   }
   function get_chosen_popup() {
       var popup,
           cookie;
       if ($.pm_cookie === undefined) {
           return 0;
       }
       cookie = parseInt($.pm_cookie(cookie_name)) || false;
       // If the cookie contains a value use it.
       if (cookie > 0 && popups.indexOf(cookie) !== -1) {
           popup = cookie;
       } else if (!cookie) {
           popup = random_popup();
           $.pm_cookie(cookie_name, popup, cookie_time, '/');
       }
       return popup;
   }
   // Prevent non chosen popups from opening.
   $(document).on('pumBeforeOpen', '.pum', function () {
       var $this = $(this),
           ID = $this.popmake('getSettings').id;
       if (!chosen_popup) {
           chosen_popup = get_chosen_popup();
       }
       if (popups.indexOf(ID) >= 0 && ID !== chosen_popup) {
           $this.addClass('preventOpen');
       } else {
           $this.removeClass('preventOpen');
       }
   });
}(jQuery, document));

エンジニアの方ならだいたい見るだけで分かるかな?

僕もそこまでコードは得意ではないですが、実装したらブログに書き起こしてみようと思います。

【Web系のお仕事依頼はココナラまで】
★ココナラプロフィール|SEO、サイト高速化、WPカスタマイズ等のご相談下さい
https://coconala.com/users/391337

■WordPress関連情報|サイト高速化/SEO/カスタマイズ等
https://wordpress-wiki.com/

■海外旅行情報サイト|バックパッカーブログ
https://kaigairyokou.info/

【Webラボプロフィール】
ココナラで主に活動中のWeb系エンジニア。趣味は海外バックパック。
実績は150件を超え、WordPress界隈では人気ユーザの仲間入り。
特にSEO対策、サイト高速化、カスタマイズで高い評価を獲得。
サーバー移行やエラー対応などWeb系なら一通り対応致します。



この記事が気に入ったらサポートをしてみませんか?