Version Description
Download this release
Release Info
Developer | PixelYourSite |
Plugin | PixelYourSite – Facebook Pixel (Events, WooCommerce & Easy Digital Downloads) |
Version | 9.2.1 |
Comparing to | |
See all releases |
Code changes from version 9.2.0 to 9.2.1
- dist/scripts/public.bundle.js +1 -0
- dist/scripts/public.js +54 -14
- dist/styles/notice.css +217 -0
- facebook-pixel-master.php +3 -3
- includes/class-events-manager.php +13 -3
- includes/class-fixed-notices.php +272 -22
- includes/class-pys.php +2 -3
- includes/functions-promo-notices.php +2 -8
- includes/logger/class-pys-logger.php +3 -0
- includes/options_defaults.json +1 -1
- includes/options_fields.json +3 -0
- includes/views/html-main-general.php +33 -6
- modules/facebook/PYSServerEventHelper.php +30 -8
- notices/0_clean.php +0 -27
- notices/1_from_pre_7x.php +0 -24
- notices/7_1_0.php +0 -24
- notices/7_1_8.php +0 -59
- notices/8_0_3.php +0 -56
- notices/fixed.php +257 -6
- pixelyoursite.php +1 -2
- readme.txt +14 -1
dist/scripts/public.bundle.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(()=>{function e(e){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".split(""),n=[],o=0;o<e;o++){var a=(Math.random()*(t.length-1)).toFixed(0);n[o]=t[a]}return n.join("")}function t(e){switch(e){case"facebook":return window.pys.Facebook;case"ga":return window.pys.Analytics;case"bing":return window.pys.Bing;case"pinterest":return window.pys.Pinterest}}Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(e,t){if(null==this)throw new TypeError('"this" is null or not defined');var n=Object(this),o=n.length>>>0;if(0===o)return!1;for(var a,i,r=0|t,s=Math.max(r>=0?r:o-Math.abs(r),0);s<o;){if((a=n[s])===(i=e)||"number"==typeof a&&"number"==typeof i&&isNaN(a)&&isNaN(i))return!0;s++}return!1}}),function(o,a){a.debug&&console.log("PYS:",a);var i={isEnabled:function(){},disable:function(){},loadPixel:function(){},fireEvent:function(e,t){return!1},onCommentEvent:function(){},onDownloadEvent:function(e){},onFormEvent:function(e){},onWooAddToCartOnButtonEvent:function(e){},onWooAddToCartOnSingleEvent:function(e,t,n,o,a){},onWooRemoveFromCartEvent:function(e){},onEddAddToCartOnButtonEvent:function(e,t,n){},onEddRemoveFromCartEvent:function(e){},onPageScroll:function(e){},onTime:function(e){}},r={isEnabled:function(){},disable:function(){},loadPixel:function(){},fireEvent:function(e,t){return!1},onAdSenseEvent:function(){},onClickEvent:function(e){},onWatchVideo:function(e){},onCommentEvent:function(){},onFormEvent:function(e){},onDownloadEvent:function(e){},onWooAddToCartOnButtonEvent:function(e){},onWooAddToCartOnSingleEvent:function(e,t,n,o,a){},onWooRemoveFromCartEvent:function(e){},onWooAffiliateEvent:function(e){},onWooPayPalEvent:function(){},onEddAddToCartOnButtonEvent:function(e,t,n){},onEddRemoveFromCartEvent:function(e){},onPageScroll:function(e){},onTime:function(e){}},s=function(e){var t=i,n=r,a=!1;let l=function(){let t=6e4*e.last_visit_duration;if(void 0===Cookies.get("pys_start_session")||void 0===Cookies.get("pys_session_limit")){var n=new Date;return n.setTime(n.getTime()+t),Cookies.set("pys_session_limit",!0,{expires:n}),Cookies.set("pys_start_session",!0),!0}return!1}(),_=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],u=["fbadid","gadid","padid","bingid"];function p(){e.gdpr.all_disabled_by_api||(e.gdpr.facebook_disabled_by_api||c.loadPixel(),e.gdpr.analytics_disabled_by_api||d.loadPixel(),e.gdpr.pinterest_disabled_by_api||t.loadPixel(),e.gdpr.bing_disabled_by_api||n.loadPixel())}function f(){try{let n,o=document.referrer.toString(),a=0===o.length,i=!a&&0===o.indexOf(e.siteUrl);return n=!1==(!a&&!i)?"direct":o,"direct"!==n?-1!==(t=(t=n).replace(/(https?:\/\/)?(www.)?/i,"")).indexOf("/")?t.split("/")[0]:t:n}catch(e){return console.error(e),"direct"}var t}function m(e=!1){try{let t="pys_",n=[];return e&&(t="last_pys_"),o.each(u,(function(e,o){Cookies.get(t+o)&&(n[o]=Cookies.get(t+o))})),n}catch(e){return console.error(e),[]}}function v(e=!1){try{let t="pys_";e&&(t="last_pys_");let n=[];return o.each(_,(function(e,o){if(Cookies.get(t+o)){let e=Cookies.get(t+o);n[o]=function(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?void 0:e}(e)}})),n}catch(e){return console.error(e),[]}}return{PRODUCT_SIMPLE:0,PRODUCT_VARIABLE:1,PRODUCT_BUNDLE:2,PRODUCT_GROUPED:3,fireEventForAllPixel:function(e,o){o.hasOwnProperty(c.tag())&&c[e](o[c.tag()]),o.hasOwnProperty(d.tag())&&d[e](o[d.tag()]),o.hasOwnProperty(t.tag())&&t[e](o[t.tag()]),o.hasOwnProperty(n.tag())&&n[e](o[n.tag()])},setupPinterestObject:function(){return t=window.pys.Pinterest||t},setupBingObject:function(){return n=window.pys.Bing||n},copyProperties:function(e,t){for(var n in e)"function"!=typeof e[n]&&(t[n]=e[n]);return t},manageCookies:function(){let t=parseInt(e.cookie_duration),n=function(){try{var e={},t=[];return window.location.search.substr(1).split("&").forEach((function(n){(t=n.split("=")).length>1&&(e[t[0]]=t[1])})),e}catch(e){return console.error(e),{}}}(),a=window.location.href.split("?")[0];try{void 0===Cookies.get("pys_first_visit")&&(Cookies.set("pys_first_visit",!0,{expires:t}),Cookies.set("pysTrafficSource",f(),{expires:t}),Cookies.set("pys_landing_page",a,{expires:t}),o.each(_,(function(e,o){n.hasOwnProperty(o)?Cookies.set("pys_"+o,n[o],{expires:t}):Cookies.remove("pys_"+o)})),o.each(u,(function(e,o){n.hasOwnProperty(o)?Cookies.set("pys_"+o,n[o],{expires:t}):Cookies.remove("pys_"+o)}))),l&&(Cookies.set("last_pysTrafficSource",f(),{expires:t}),o.each(_,(function(e,o){n.hasOwnProperty(o)?Cookies.set("last_pys_"+o,n[o],{expires:t}):Cookies.remove("last_pys_"+o)})),o.each(u,(function(e,o){n.hasOwnProperty(o)?Cookies.set("last_pys_"+o,n[o],{expires:t}):Cookies.remove("last_pys_"+o)})),Cookies.set("last_pys_landing_page",a,{expires:t}))}catch(e){console.error(e)}},clone:function(e){var t;if(null==e||"object"!=typeof e)return e;if(e instanceof Date)return(t=new Date).setTime(e.getTime()),t;if(e instanceof Array){t=[];for(var n=0,o=e.length;n<o;n++)"function"!=typeof e[n]&&(t[n]=s.clone(e[n]));return t}if(e instanceof Object){for(var a in t={},e)if(e.hasOwnProperty(a)){if("function"==typeof e[a])continue;t[a]=s.clone(e[a])}return t}return e},getTagsAsArray:function(e){return[].slice.call(document.getElementsByTagName(e))},getRequestParams:function(){return[]},setupMouseOverClickEvents:function(e,t){o(document).onFirst("mouseover",t.join(","),(function(){if(o(this).hasClass("pys-mouse-over-"+e))return!0;o(this).addClass("pys-mouse-over-"+e),s.fireDynamicEvent(e)}))},setupCSSClickEvents:function(e,t){o(document).onFirst("click",t.join(","),(function(){s.fireTriggerEvent(e)}))},setupURLClickEvents:function(){o("a[data-pys-event-id]").onFirst("click",(function(e){o(this).attr("data-pys-event-id").split(",").forEach((function(e){e=parseInt(e),!1===isNaN(e)&&s.fireTriggerEvent(e)}))}))},setupScrollPosEvents:function(e,t){var n={},a=o(document).height()-o(window).height();o.each(t,(function(t,o){o=a*o/100,o=Math.round(o),n[o]=e})),o(document).on("scroll",(function(){var e=o(window).scrollTop();o.each(n,(function(t,o){return e<=t||null===o||(n[t]=null,void s.fireTriggerEvent(o))}))}))},setupCommentEvents:function(e,t){o("form.comment-form").on("submit",(function(){s.fireTriggerEvent(e)}))},fireTriggerEvent:function(o){if(e.triggerEvents.hasOwnProperty(o)){var a={},i=e.triggerEvents[o];i.hasOwnProperty("facebook")&&(a=i.facebook,c.fireEvent(a.name,a)),i.hasOwnProperty("ga")&&(a=i.ga,d.fireEvent(a.name,a)),i.hasOwnProperty("pinterest")&&(a=i.pinterest,t.fireEvent(a.name,a)),i.hasOwnProperty("bing")&&(a=i.bing,n.fireEvent(a.name,a))}},fireStaticEvents:function(a){e.staticEvents.hasOwnProperty(a)&&o.each(e.staticEvents[a],(function(e,i){o.each(i,(function(e,o){if(o.fired=o.fired||!1,!o.fired){var i=!1;"facebook"===a?i=c.fireEvent(o.name,o):"ga"===a?i=d.fireEvent(o.name,o):"pinterest"===a?i=t.fireEvent(o.name,o):"bing"===a&&(i=n.fireEvent(o.name,o)),o.fired=i}}))}))},loadGoogleTag:function(e){a||(function(e,t,n){var o=t.createElement("script"),a=t.getElementsByTagName("script")[0];o.async=1,o.src=n,a.parentNode.insertBefore(o,a)}(window,document,"//www.googletagmanager.com/gtag/js?id="+e),window.dataLayer=window.dataLayer||[],window.gtag=window.gtag||function(){dataLayer.push(arguments)},gtag("js",new Date),a=!0)},loadPixels:function(){e.gdpr.ajax_enabled&&!e.gdpr.consent_magic_integration_enabled?o.get({url:e.ajaxUrl,dataType:"json",data:{action:"pys_get_gdpr_filters_values"},success:function(t){t.success&&(e.gdpr.all_disabled_by_api=t.data.all_disabled_by_api,e.gdpr.facebook_disabled_by_api=t.data.facebook_disabled_by_api,e.gdpr.analytics_disabled_by_api=t.data.analytics_disabled_by_api,e.gdpr.google_ads_disabled_by_api=t.data.google_ads_disabled_by_api,e.gdpr.pinterest_disabled_by_api=t.data.pinterest_disabled_by_api,e.gdpr.bing_disabled_by_api=t.data.bing_disabled_by_api),p()}}):p()},consentGiven:function(t){if(e.gdpr.consent_magic_integration_enabled&&"undefined"!=typeof CS_Data){var n=Cookies.get("cs_viewed_cookie_policy"+test_prefix);if(e.gdpr[t+"_prior_consent_enabled"]){if(void 0===n||"yes"===n)return!0}else if(void 0===n||"yes"===n)return!0;return!1}if(e.gdpr.real_cookie_banner_integration_enabled){var o=window.consentApi;if(o)switch(t){case"analytics":return o.consentSync("http","_ga","*").cookieOptIn;case"facebook":return o.consentSync("http","_fbp","*").cookieOptIn;case"pinterest":return o.consentSync("http","_pinterest_sess",".pinterest.com").cookieOptIn;default:return!0}}if(e.gdpr.cookiebot_integration_enabled&&"undefined"!=typeof Cookiebot){var a=e.gdpr["cookiebot_"+t+"_consent_category"];if(e.gdpr[t+"_prior_consent_enabled"]){if(!1===Cookiebot.consented||Cookiebot.consent[a])return!0}else if(Cookiebot.consent[a])return!0;return!1}if(e.gdpr.cookie_notice_integration_enabled&&"undefined"!=typeof cnArgs){var i=Cookies.get(cnArgs.cookieName);if(e.gdpr[t+"_prior_consent_enabled"]){if(void 0===i||"true"===i)return!0}else if("true"===i)return!0;return!1}if(e.gdpr.cookie_law_info_integration_enabled){var r=Cookies.get("viewed_cookie_policy");if(e.gdpr[t+"_prior_consent_enabled"]){if(void 0===r||"yes"===r)return!0}else if("yes"===r)return!0;return!1}return!0},setupGdprCallbacks:function(){if(e.gdpr.consent_magic_integration_enabled&&"undefined"!=typeof CS_Data){var a=CS_Data.test_prefix,i=!1;if(1==CS_Data.cs_refresh_after_consent&&(i=CS_Data.cs_refresh_after_consent),!i){for(var r=document.cookie.split(";"),s=1;s<=r.length;s++)if(-1!==r[s-1].indexOf("cs_enabled_cookie_term")){var l=r[s-1].replace("cs_enabled_cookie_term"+a+"_","");l=Number(l.replace(/\D+/g,"")),"yes"==Cookies.get("cs_enabled_cookie_term"+a+"_"+l)?(l===CS_Data.cs_script_cat.facebook&&c.loadPixel(),l===CS_Data.cs_script_cat.bing&&n.loadPixel(),l===CS_Data.cs_script_cat.analytics&&d.loadPixel(),l===CS_Data.cs_script_cat.pinterest&&t.loadPixel()):(l===CS_Data.cs_script_cat.facebook&&c.disable(),l===CS_Data.cs_script_cat.bing&&n.disable(),l===CS_Data.cs_script_cat.analytics&&d.disable(),l===CS_Data.cs_script_cat.pinterest&&t.disable()),"yes"==Cookies.get("cs_enabled_advanced_matching")&&c.loadPixel()}o(document).on("click",".cs_action_btn",(function(e){e.preventDefault();var a=o(this).attr("data-cs_action");"allow_all"===a?(c.loadPixel(),n.loadPixel(),d.loadPixel(),t.loadPixel()):"disable_all"===a&&(c.disable(),n.disable(),d.disable(),t.disable())}))}}if(e.gdpr.real_cookie_banner_integration_enabled){var _=window.consentApi;_&&(_.consent("http","_ga","*").then(d.loadPixel.bind(d),d.disable.bind(d)),_.consent("http","_fbp","*").then(c.loadPixel.bind(c),c.disable.bind(c)),_.consent("http","_pinterest_sess",".pinterest.com").then(t.loadPixel.bind(t),t.disable.bind(t)))}e.gdpr.cookiebot_integration_enabled&&"undefined"!=typeof Cookiebot&&window.addEventListener("CookiebotOnConsentReady",(function(){Cookiebot.consent.marketing&&(c.loadPixel(),n.loadPixel(),t.loadPixel()),Cookiebot.consent.statistics&&d.loadPixel(),Cookiebot.consent.marketing||(c.disable(),t.disable(),n.disable()),Cookiebot.consent.statistics||d.disable()})),e.gdpr.cookie_notice_integration_enabled&&(o(document).onFirst("click",".cn-set-cookie",(function(){"accept"===o(this).data("cookie-set")?(c.loadPixel(),d.loadPixel(),t.loadPixel(),n.loadPixel()):(c.disable(),d.disable(),t.disable(),n.disable())})),o(document).onFirst("click",".cn-revoke-cookie",(function(){c.disable(),d.disable(),t.disable(),n.disable()}))),e.gdpr.cookie_law_info_integration_enabled&&(o(document).onFirst("click","#cookie_action_close_header",(function(){c.loadPixel(),d.loadPixel(),t.loadPixel(),n.loadPixel()})),o(document).onFirst("click","#cookie_action_close_header_reject",(function(){c.disable(),d.disable(),t.disable(),n.disable()})))},getLinkExtension:function(e){return(e=(e=(e=e.substring(0,-1===e.indexOf("#")?e.length:e.indexOf("#"))).substring(0,-1===e.indexOf("?")?e.length:e.indexOf("?"))).substring(e.lastIndexOf("/")+1,e.length)).length>0&&-1!==e.indexOf(".")?e=e.substring(e.indexOf(".")+1):""},getLinkFilename:function(e){return(e=(e=(e=e.substring(0,-1===e.indexOf("#")?e.length:e.indexOf("#"))).substring(0,-1===e.indexOf("?")?e.length:e.indexOf("?"))).substring(e.lastIndexOf("/")+1,e.length)).length>0&&-1!==e.indexOf(".")?e:""},isCheckoutPage:function(){return o("body").hasClass("woocommerce-checkout")||o("body").hasClass("edd-checkout")},addCheckoutFields:function(){var e="",t=v();o.each(_,(function(n,o){n>0&&(e+="|"),e+=o+":"+t[o]}));var n="",a=m();o.each(u,(function(e,t){e>0&&(n+="|"),n+=t+":"+a[t]}));var i="",r=m(!0);o.each(u,(function(e,t){e>0&&(i+="|"),i+=t+":"+r[t]}));var s="",c=v(!0);o.each(_,(function(e,t){e>0&&(s+="|"),s+=t+":"+c[t]}));var d=function(){var e=new Array,t=new Date;return e.push(["00-01","01-02","02-03","03-04","04-05","05-06","06-07","07-08","08-09","09-10","10-11","11-12","12-13","13-14","14-15","15-16","16-17","17-18","18-19","19-20","20-21","21-22","22-23","23-24"][t.getHours()]),e.push(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][t.getDay()]),e.push(["January","February","March","April","May","June","July","August","September","October","November","December"][t.getMonth()]),e}(),l=Cookies.get("pys_landing_page"),p=Cookies.get("last_pys_landing_page"),f=Cookies.get("pysTrafficSource"),y=Cookies.get("last_pysTrafficSource"),g=null;g=o("body").hasClass("woocommerce-checkout")?o("form.woocommerce-checkout"):o("#edd_purchase_form");var b={pys_utm:e,pys_utm_id:n,pys_browser_time:d.join("|"),pys_landing:l,pys_source:f,pys_order_type:o(".wcf-optin-form").length>0?"wcf-optin":"normal",last_pys_landing:p,last_pys_source:y,last_pys_utm:s,last_pys_utm_id:i};Object.keys(b).forEach((function(e,t){g.append("<input type='hidden' name='"+e+"' value='"+b[e]+"' /> ")}))}}}(a),c=function(t){var a=["PageView","ViewContent","Search","AddToCart","AddToWishlist","InitiateCheckout","AddPaymentInfo","Purchase","Lead","Subscribe","CustomizeProduct","FindLocation","StartTrial","SubmitApplication","Schedule","Contact","Donate"],i=!1,r=t.gdpr.all_disabled_by_api||t.gdpr.facebook_disabled_by_api||t.gdpr.cookiebot_integration_enabled||t.gdpr.consent_magic_integration_enabled||t.gdpr.cookie_notice_integration_enabled||t.gdpr.cookie_law_info_integration_enabled;function d(o,i){if("function"==typeof window.pys_event_data_filter&&window.pys_disable_event_filter(o,"facebook"))return;var d=a.includes(o)?"track":"trackCustom",l=i.params,_={},u={};s.copyProperties(l,_);let p=function(o,a,i){let s=null;if(t.facebook.serverApiEnabled){if("woo_remove_from_cart"===o.e_id||"woo_add_to_cart_on_button_click"===o.e_id)(t.woo.hasOwnProperty("addToCartCatchMethod")&&"add_cart_js"===t.woo.addToCartCatchMethod||"woo_add_to_cart_on_button_click"!==o.e_id)&&(c.updateEventId(o.name),o.eventID=c.getEventId(o.name));else if(t.facebook.ajaxForServerEvent||r||o.delay>0||"static"!==o.type){o.eventID=e(36);var d={action:"pys_api_event",pixel:"facebook",event:a,data:i,ids:t.facebook.pixelIds,eventID:o.eventID,url:window.location.href};if(o.hasOwnProperty("woo_order")&&(d.woo_order=o.woo_order),o.hasOwnProperty("edd_order")&&(d.edd_order=o.edd_order),"PageView"==a){let e=parseInt(t.cookie_duration);var l=Date.now(),_=Math.floor(1e9+9e9*Math.random());timeoutDelay=0,o.delay>0&&(timeoutDelay=o.delay),Cookies.get("_fbp")||(timeoutDelay=100),n("fbclid")&&!Cookies.get("_fbc")&&(timeoutDelay=100),setTimeout((function(){Cookies.get("_fbp")||Cookies.set("_fbp","fb.1."+l+"."+_,{expires:e}),n("fbclid")&&!Cookies.get("_fbc")&&Cookies.set("_fbc","fb.1."+l+"."+n("fbclid"),{expires:e}),jQuery.ajax({type:"POST",url:t.ajaxUrl,data:d,headers:{"Cache-Control":"no-cache"},success:function(){}})}),timeoutDelay)}else jQuery.ajax({type:"POST",url:t.ajaxUrl,data:d,headers:{"Cache-Control":"no-cache"},success:function(){}})}s=o.eventID}return s}(i,o,_);"hCR"!==o&&(t.debug&&console.log("[Facebook] "+o,_,"eventID",p),null!=p&&(u.eventID=p),fbq(d,o,_,u))}return{tag:function(){return"facebook"},isEnabled:function(){return t.hasOwnProperty("facebook")},disable:function(){i=!1},loadPixel:function(){var e,n,o,a,r,c;!i&&this.isEnabled()&&s.consentGiven("facebook")&&(e=window,n=document,o="script",e.fbq||(a=e.fbq=function(){a.callMethod?a.callMethod.apply(a,arguments):a.queue.push(arguments)},e._fbq||(e._fbq=a),a.push=a,a.loaded=!0,a.version="2.0",a.agent="dvpixelyoursite",a.queue=[],(r=n.createElement(o)).async=!0,r.src="https://connect.facebook.net/en_US/fbevents.js",(c=n.getElementsByTagName(o)[0]).parentNode.insertBefore(r,c)),t.facebook.pixelIds.forEach((function(e){if(t.facebook.removeMetadata&&fbq("set","autoConfig",!1,e),t.gdpr.consent_magic_integration_enabled&&"undefined"!=typeof CS_Data)if(0===t.facebook.advancedMatching.length)fbq("init",e);else{var n=Cookies.get("cs_enabled_advanced_matching"+test_prefix);jQuery("#cs_enabled_advanced_matching"+test_prefix).length>0?"yes"==n?fbq("init",e,t.facebook.advancedMatching):fbq("init",e):fbq("init",e,t.facebook.advancedMatching)}else 0===t.facebook.advancedMatching.length?fbq("init",e):fbq("init",e,t.facebook.advancedMatching)})),i=!0,s.fireStaticEvents("facebook"))},fireEvent:function(e,t){return!(!i||!this.isEnabled()||(t.delay=t.delay||0,t.params=t.params||{},0===t.delay?d(e,t):setTimeout((function(e,t){d(e,t)}),1e3*t.delay,e,t),0))},onCommentEvent:function(e){this.fireEvent(e.name,e)},onDownloadEvent:function(e){this.fireEvent(e.name,e)},onFormEvent:function(e){this.fireEvent(e.name,e)},onWooAddToCartOnButtonEvent:function(e){if(t.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var n=t.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()];window.pysWooProductData.hasOwnProperty(e)&&window.pysWooProductData[e].hasOwnProperty("facebook")&&(n=s.copyProperties(n,{}),s.copyProperties(window.pysWooProductData[e].facebook.params,n.params),this.fireEvent(n.name,n))}},onWooAddToCartOnSingleEvent:function(e,n,a,i){if(window.pysWooProductData=window.pysWooProductData||[],t.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var r=s.clone(t.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(a!==s.PRODUCT_VARIABLE||t.facebook.wooVariableAsSimple||(e=parseInt(i.find('input[name="variation_id"]').val())),window.pysWooProductData.hasOwnProperty(e)&&window.pysWooProductData[e].hasOwnProperty("facebook")){s.copyProperties(window.pysWooProductData[e].facebook.params,r.params);var c=0;if(a===s.PRODUCT_GROUPED&&(i.find(".woocommerce-grouped-product-list .qty").each((function(t){var n=o(this).attr("name").replaceAll("quantity[","").replaceAll("]",""),a=parseInt(o(this).val());isNaN(a)&&(a=0);var i=window.pysWooProductData[e].facebook.grouped[n];0==a&&r.params.content_ids.forEach((function(e,t,n){e==i.content_id&&n.splice(t,1)})),r.params.hasOwnProperty("contents")&&r.params.contents.forEach((function(e,t,n){e.id==i.content_id&&(a>0?e.quantity=a:n.splice(t,1))})),c+=i.price*a})),0==c))return;if(t.woo.addToCartOnButtonValueEnabled&&"global"!==t.woo.addToCartOnButtonValueOption)if(a===s.PRODUCT_GROUPED)r.params.value=c;else if(a===s.PRODUCT_BUNDLE){var d=o(".bundle_form .bundle_data").data("bundle_form_data"),l=function(e){var t=0;return jQuery(".bundle_form .bundled_product").each((function(n){var o=jQuery(this).find(".cart").data("bundled_item_id"),a=e.prices[o],i=jQuery(this).find(".bundled_qty").val();jQuery(this).hasClass("bundled_item_optional")&&!jQuery(this).find(".bundled_product_optional_checkbox input").prop("checked")||(t+=a*i)})),t}(d);r.params.value=(parseInt(d.base_price)+l)*n}else r.params.value=r.params.value*n;r.params.hasOwnProperty("contents")&&a!==s.PRODUCT_GROUPED&&(r.params.contents[0].quantity=n),this.fireEvent(r.name,r)}}},onWooRemoveFromCartEvent:function(e){this.fireEvent(e.name,e)},onEddAddToCartOnButtonEvent:function(e,n,o){if(t.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var a,i=s.clone(t.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);if(window.pysEddProductData.hasOwnProperty(e)&&(a=n?e+"_"+n:e,window.pysEddProductData[e].hasOwnProperty(a)&&window.pysEddProductData[e][a].hasOwnProperty("facebook"))){s.copyProperties(window.pysEddProductData[e][a].facebook.params,i.params),t.edd.addToCartOnButtonValueEnabled&&"global"!==t.edd.addToCartOnButtonValueOption&&(i.params.value=i.params.value*o);var r=i.params.contents;r[0].quantity=o,i.params.contents=r,this.fireEvent(i.name,i)}}},onEddRemoveFromCartEvent:function(e){this.fireEvent(e.name,e)},onPageScroll:function(e){this.fireEvent(e.name,e)},onTime:function(e){this.fireEvent(e.name,e)},initEventIdCookies:function(t){var n={};n[t]=e(36),Cookies.set("pys_fb_event_id",JSON.stringify(n))},updateEventId:function(t){var n=Cookies.get("pys_fb_event_id");if(void 0===n)this.initEventIdCookies(t);else{var o=JSON.parse(n);o[t]=e(36),Cookies.set("pys_fb_event_id",JSON.stringify(o))}},getEventId:function(e){var t=Cookies.get("pys_fb_event_id");return void 0===t&&(this.initEventIdCookies(e),t=Cookies.get("pys_fb_event_id")),JSON.parse(t)[e]}}}(a),d=function(e){var t=!1;function n(t,n){if("function"!=typeof window.pys_event_data_filter||!window.pys_disable_event_filter(t,"ga")){var o=s.copyProperties(n,{});e.ga.trackingIds.forEach((function(n){var i=s.copyProperties(o,{}),r=function(e,t,n){if(delete n.page_title,delete n.event_url,delete n.landing_page,a(e))delete n.traffic_source,delete n.event_category,delete n.event_label,delete n.ecomm_prodid,delete n.ecomm_pagetype,delete n.ecomm_totalvalue,"search"===t&&(n.search=n.search_term,delete n.search_term,delete n.non_interaction,delete n.dynx_itemid,delete n.dynx_pagetype,delete n.dynx_totalvalue);else{switch(t){case"Comment":case"login":case"sign_up":case"EmailClick":case"TelClick":return{event_category:"Key Actions",event_action:t,non_interaction:n.non_interaction};case"Form":{let e={event_category:"Key Actions",event_action:t,non_interaction:n.non_interaction};var o=void 0!==n.form_class?"class: "+n.form_class:"";return""!=o&&(e.event_label=o),e}case"Download":return{event_category:"Key Actions",event_action:t,event_label:n.download_name,non_interaction:n.non_interaction};case"TimeOnPage":case"PageScroll":return{event_category:"Key Actions",event_action:t,event_label:document.title,non_interaction:n.non_interaction};case"search":return{event_category:"Key Actions",event_action:t,event_label:n.search_term,non_interaction:n.non_interaction}}delete n.post_type,delete n.post_id,delete n.plugin,delete n.user_role,delete n.cartlows,delete n.cartflows_flow,delete n.cartflows_step}return n}(n,t,i);!function(t,n,o){o.send_to=t,e.debug&&console.log("[Google Analytics #"+t+"] "+n,o),gtag("event",n,o)}(n,t,r)}))}}function a(e){return 0===e.indexOf("G")}return{tag:function(){return"ga"},isEnabled:function(){return e.hasOwnProperty("ga")},disable:function(){t=!1},loadPixel:function(){if(!t&&this.isEnabled()&&s.consentGiven("analytics")){s.loadGoogleTag(e.ga.trackingIds[0]);var n={link_attribution:e.ga.enhanceLinkAttr,anonymize_ip:e.ga.anonimizeIP};e.ga.crossDomainEnabled&&(n.linker={accept_incoming:e.ga.crossDomainAcceptIncoming,domains:e.ga.crossDomainDomains}),e.ga.trackingIds.forEach((function(t,o){n.debug_mode=e.ga.isDebugEnabled.includes("index_"+o),a(t)&&(e.ga.disableAdvertisingFeatures&&(n.allow_google_signals=!1),e.ga.disableAdvertisingPersonalization&&(n.allow_ad_personalization_signals=!1)),gtag("config",t,n)})),t=!0,s.fireStaticEvents("ga")}},fireEvent:function(e,o){return!(!t||!this.isEnabled()||(o.delay=o.delay||0,o.params=o.params||{},0===o.delay?n(e,o.params):setTimeout((function(e,t){n(e,t)}),1e3*o.delay,e,o.params),0))},onCommentEvent:function(e){this.fireEvent(e.name,e)},onDownloadEvent:function(e){this.fireEvent(e.name,e)},onFormEvent:function(e){this.fireEvent(e.name,e)},onWooAddToCartOnButtonEvent:function(t){if(e.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var n=s.clone(e.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);window.pysWooProductData.hasOwnProperty(t)&&window.pysWooProductData[t].hasOwnProperty("ga")&&(s.copyProperties(window.pysWooProductData[t].ga.params,n.params),this.fireEvent(n.name,n))}},onWooAddToCartOnSingleEvent:function(t,n,a,i){if(window.pysWooProductData=window.pysWooProductData||[],e.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var r=s.clone(e.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(a!==s.PRODUCT_VARIABLE||e.ga.wooVariableAsSimple||(t=parseInt(i.find('input[name="variation_id"]').val())),window.pysWooProductData.hasOwnProperty(t)&&window.pysWooProductData[t].hasOwnProperty("ga")){if(s.copyProperties(window.pysWooProductData[t].ga.params,r.params),a===s.PRODUCT_GROUPED){var c=0;if(i.find(".woocommerce-grouped-product-list .qty").each((function(e){var n=o(this).attr("name").replaceAll("quantity[","").replaceAll("]",""),a=parseInt(o(this).val());isNaN(a)&&(a=0);var i=window.pysWooProductData[t].ga.grouped[n];r.params.items.forEach((function(e,t,n){e.id==i.content_id&&(a>0?e.quantity=a:n.splice(t,1))})),c+=i.price*a})),e.woo.addToCartOnButtonValueEnabled&&"global"!==e.woo.addToCartOnButtonValueOption&&r.params.hasOwnProperty("ecomm_totalvalue")&&(r.params.ecomm_totalvalue=c),0==c)return}else r.params.items[0].quantity=n;e.woo.addToCartOnButtonValueEnabled&&"global"!==e.woo.addToCartOnButtonValueOption&&a!==s.PRODUCT_GROUPED&&r.params.hasOwnProperty("ecomm_totalvalue")&&(r.params.ecomm_totalvalue=r.params.items[0].price*n),this.fireEvent(r.name,r)}}},onWooRemoveFromCartEvent:function(e){this.fireEvent(e.name,e)},onEddAddToCartOnButtonEvent:function(t,n,o){if(e.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())){var a,i=s.clone(e.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);window.pysEddProductData.hasOwnProperty(t)&&(a=n?t+"_"+n:t,window.pysEddProductData[t].hasOwnProperty(a)&&window.pysEddProductData[t][a].hasOwnProperty("ga")&&(s.copyProperties(window.pysEddProductData[t][a].ga.params,i.params),i.params.items[0].quantity=o,this.fireEvent(i.name,i)))}},onEddRemoveFromCartEvent:function(e){this.fireEvent(e.name,e)},onPageScroll:function(e){this.fireEvent(e.name,e)},onTime:function(e){this.fireEvent(e.name,e)}}}(a);window.pys=window.pys||{},window.pys.Facebook=c,window.pys.Analytics=d,window.pys.Utils=s,o(document).ready((function(){if(o("#pys_late_event").length>0){var e=JSON.parse(o("#pys_late_event").attr("dir"));for(var n in e){var i={};i[e[n].e_id]=[e[n]],a.staticEvents.hasOwnProperty(n)?Object.assign(a.staticEvents[n],i):a.staticEvents[n]=i}}var r=s.setupPinterestObject(),l=s.setupBingObject();if(s.manageCookies(),s.setupGdprCallbacks(),a.dynamicEvents.hasOwnProperty("automatic_event_scroll")){var _=function(){var e=o(document).height()-o(window).height(),n=!1;if(a.dynamicEvents.hasOwnProperty("automatic_event_scroll"))for(var i=Object.keys(a.dynamicEvents.automatic_event_scroll),r=0;r<i.length;r++){var c=s.clone(a.dynamicEvents.automatic_event_scroll[i[r]]);Math.round(e*c.scroll_percent/100)<o(window).scrollTop()&&(s.copyProperties(s.getRequestParams(),c.params),t(i[r]).onPageScroll(c),n=!0)}n&&o(document).off("scroll",_)};o(document).on("scroll",_)}if(a.dynamicEvents.hasOwnProperty("automatic_event_time_on_page")){var u=Object.keys(a.dynamicEvents.automatic_event_time_on_page),p=a.dynamicEvents.automatic_event_time_on_page[u[0]].time_on_page;setTimeout((function(){for(var e=0;e<u.length;e++){var n=s.clone(a.dynamicEvents.automatic_event_time_on_page[u[e]]);s.copyProperties(s.getRequestParams(),n.params),t(u[e]).onTime(n)}}),1e3*p)}a.dynamicEvents.hasOwnProperty("automatic_event_download")&&o(document).onFirst("click",'a, button, input[type="button"], input[type="submit"]',(function(e){var n=o(this);if(a.dynamicEvents.hasOwnProperty("automatic_event_download")){var i=!1;if(n.is("a")){var r=n.attr("href");if("string"!=typeof r)return;r=r.trim();var c=s.getLinkExtension(r);if(c.length>0&&a.dynamicEvents.hasOwnProperty("automatic_event_download"))for(var d=Object.keys(a.dynamicEvents.automatic_event_download),l=0;l<d.length;l++){var _=s.clone(a.dynamicEvents.automatic_event_download[d[l]]);_.extensions.includes(c)&&("tiktok"==d[l]?t(d[l]).fireEvent(tikEvent.name,_):(a.enable_remove_download_url_param&&(r=r.split("?")[0]),_.params.download_url=r,_.params.download_type=c,_.params.download_name=s.getLinkFilename(r),t(d[l]).onDownloadEvent(_)),i=!0)}}if(i)return}})),o.each(a.triggerEventTypes,(function(e,t){o.each(t,(function(t,n){switch(e){case"url_click":break;case"css_click":s.setupCSSClickEvents(t,n);break;case"css_mouseover":s.setupMouseOverClickEvents(t,n);break;case"scroll_pos":s.setupScrollPosEvents(t,n);break;case"comment":s.setupCommentEvents(t,n)}}))})),a.woo.enabled&&(a.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")&&a.woo.hasOwnProperty("addToCartCatchMethod")&&"add_cart_js"===a.woo.addToCartCatchMethod&&(o(".add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)").on("click",(function(e){var t=o(this).data("product_id");void 0!==t&&(c.onWooAddToCartOnButtonEvent(t),d.onWooAddToCartOnButtonEvent(t),r.onWooAddToCartOnButtonEvent(t),l.onWooAddToCartOnButtonEvent(t))})),o("body").onFirst("click","button.single_add_to_cart_button,.single_add_to_cart_button",(function(e){var t=o(this);if(!t.hasClass("disabled")){var n=t.closest("form"),a=s.PRODUCT_SIMPLE;if(0!==n.length){var i,_;if(n.hasClass("variations_form")?a=s.PRODUCT_VARIABLE:n.hasClass("bundle_form")?a=s.PRODUCT_BUNDLE:n.hasClass("grouped_form")&&(a=s.PRODUCT_GROUPED),a===s.PRODUCT_GROUPED)_=1,i=parseInt(n.find('*[name="add-to-cart"]').val());else if(a===s.PRODUCT_VARIABLE)i=parseInt(n.find('*[name="add-to-cart"]').val()),(u=n.find('input[name="quantity"]')).length<=0&&(u=n.find('select[name="quantity"]')),_=parseInt(u.val());else{var u;i=parseInt(n.find('*[name="add-to-cart"]').val()),(u=n.find('input[name="quantity"]')).length<=0&&(u=n.find('select[name="quantity"]')),_=parseInt(u.val())}c.onWooAddToCartOnSingleEvent(i,_,a,n),d.onWooAddToCartOnSingleEvent(i,_,a,n),r.onWooAddToCartOnSingleEvent(i,_,a,!1,n),l.onWooAddToCartOnSingleEvent(i,_,a,!1,n)}}}))),a.dynamicEvents.hasOwnProperty("woo_remove_from_cart")&&o("body").on("click",a.woo.removeFromCartSelector,(function(e){var t=o(e.currentTarget).attr("href"),n=new RegExp("[\\?&]remove_item=([^&#]*)").exec(t);if(null!==n){var i=n[1];if(a.dynamicEvents.woo_remove_from_cart.hasOwnProperty(i)){var r=a.dynamicEvents.woo_remove_from_cart[i];s.fireEventForAllPixel("onWooRemoveFromCartEvent",r)}}}))),a.edd.enabled&&(a.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")&&o("form.edd_download_purchase_form .edd-add-to-cart").on("click",(function(e){var t,n,a=o(this),i=a.closest("form"),s=a.data("variablePrice"),_=a.data("priceMode"),u=[],p=[];"yes"===s&&"multi"===_?(n=i.find('input[name="download_id"]').val(),o.each(i.find('input[name="edd_options[price_id][]"]:checked'),(function(e,t){u.push(n+"_"+o(t).val())})),o.each(u,(function(e,n){var o=n.split("_",2);void 0!==(t=i.find('input[name="edd_download_quantity_'+o[1]+'"]').val())?p.push(t):p.push(1)}))):"yes"===s&&"single"===_?(n=i.find('input[name="download_id"]').val(),u.push(n+"_"+i.find('input[name="edd_options[price_id][]"]:checked').val()),void 0!==(t=i.find('input[name="edd_download_quantity"]').val())?p.push(t):p.push(1)):(u.push(a.data("downloadId")),void 0!==(t=i.find('input[name="edd_download_quantity"]').val())?p.push(t):p.push(1)),o.each(u,(function(e,t){var n,o=parseInt(p[e]),a=t.toString().split("_",2);2===a.length&&(t=a[0],n=a[1]),c.onEddAddToCartOnButtonEvent(t,n,o),d.onEddAddToCartOnButtonEvent(t,n,o),r.onEddAddToCartOnButtonEvent(t,n,o),l.onEddAddToCartOnButtonEvent(t,n,o)}))})),a.dynamicEvents.hasOwnProperty("edd_remove_from_cart")&&o("form#edd_checkout_cart_form .edd_cart_remove_item_btn").on("click",(function(e){var t=o(this).attr("href");if(t){var n=t.substring(t.indexOf("=")+1).charAt(0);if(a.dynamicEvents.edd_remove_from_cart.hasOwnProperty(n)){var i=a.dynamicEvents.edd_remove_from_cart[n];s.fireEventForAllPixel("onEddRemoveFromCartEvent",i)}}}))),a.dynamicEvents.hasOwnProperty("automatic_event_comment")&&o("form.comment-form").on("submit",(function(){if(a.dynamicEvents.hasOwnProperty("automatic_event_comment"))for(var e=Object.keys(a.dynamicEvents.automatic_event_comment),n=0;n<e.length;n++){var o=s.clone(a.dynamicEvents.automatic_event_comment[e[n]]);s.copyProperties(s.getRequestParams(),o.params),t(e[n]).onCommentEvent(o)}})),a.dynamicEvents.hasOwnProperty("automatic_event_form")&&(o(document).onFirst("submit","form",(function(e){var n=o(this);if(!n.hasClass("comment-form")&&!n.hasClass("search-form")&&"adminbarsearch"!==n.attr("id")&&!(n.hasClass("woocommerce-product-search")||n.hasClass("cart")||n.hasClass("woocommerce-cart-form")||n.hasClass("woocommerce-shipping-calculator")||n.hasClass("checkout")||n.hasClass("checkout_coupon")||n.hasClass("edd_form")||n.hasClass("edd_download_purchase_form"))){var i={form_id:n.attr("id"),form_class:n.attr("class"),text:n.find('[type="submit"]').is("input")?n.find('[type="submit"]').val():n.find('[type="submit"]').text()};if(a.dynamicEvents.hasOwnProperty("automatic_event_form"))for(var r=Object.keys(a.dynamicEvents.automatic_event_form),c=0;c<r.length;c++){var d=s.clone(a.dynamicEvents.automatic_event_form[r[c]]);"tiktok"===r[c]?t(r[c]).fireEvent(d.name,d):(s.copyProperties(i,d.params),s.copyProperties(s.getRequestParams(),d.params),t(r[c]).onFormEvent(d))}}})),o(document).on("forminator:form:submit:success",(function(e){var n={form_id:o(e.target).find('input[name="form_id"]').val(),text:o(e.target).find(".forminator-button-submit").text()};if(a.dynamicEvents.hasOwnProperty("automatic_event_form"))for(var i=Object.keys(a.dynamicEvents.automatic_event_form),r=0;r<i.length;r++){var c=s.clone(a.dynamicEvents.automatic_event_form[i[r]]);s.copyProperties(n,c.params),s.copyProperties(s.getRequestParams(),c.params),t(i[r]).onFormEvent(c)}})),o(document).onFirst("nfFormSubmitResponse",(function(e,n){var o={form_id:n.response.data.form_id,text:n.response.data.settings.title};if(a.dynamicEvents.hasOwnProperty("automatic_event_form"))for(var i=Object.keys(a.dynamicEvents.automatic_event_form),r=0;r<i.length;r++){var c=a.dynamicEvents.automatic_event_form[i[r]];s.copyProperties(o,c.params),s.copyProperties(s.getRequestParams(),c.params),t(i[r]).onFormEvent(c)}}))),s.loadPixels(),s.isCheckoutPage()&&s.addCheckoutFields()}))}(jQuery,pysOptions);var n=function(e){var t,n,o=window.location.search.substring(1).split("&");for(n=0;n<o.length;n++)if((t=o[n].split("="))[0]===e)return void 0===t[1]||decodeURIComponent(t[1]);return!1}})();
|
dist/scripts/public.js
CHANGED
@@ -1231,7 +1231,45 @@ if (!Array.prototype.includes) {
|
|
1231 |
json['edd_order'] = allData.edd_order;
|
1232 |
}
|
1233 |
|
1234 |
-
if(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1235 |
jQuery.ajax( {
|
1236 |
type: 'POST',
|
1237 |
url: options.ajaxUrl,
|
@@ -1241,19 +1279,6 @@ if (!Array.prototype.includes) {
|
|
1241 |
},
|
1242 |
success: function(){},
|
1243 |
});
|
1244 |
-
} else {
|
1245 |
-
setTimeout(function (json) {
|
1246 |
-
jQuery.ajax({
|
1247 |
-
type: 'POST',
|
1248 |
-
url: options.ajaxUrl,
|
1249 |
-
data: json,
|
1250 |
-
headers: {
|
1251 |
-
'Cache-Control': 'no-cache'
|
1252 |
-
},
|
1253 |
-
success: function () {
|
1254 |
-
},
|
1255 |
-
});
|
1256 |
-
}, 500, json);
|
1257 |
}
|
1258 |
}
|
1259 |
}
|
@@ -2482,3 +2507,18 @@ function getPixelBySlag(slug) {
|
|
2482 |
case "pinterest": return window.pys.Pinterest;
|
2483 |
}
|
2484 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1231 |
json['edd_order'] = allData.edd_order;
|
1232 |
}
|
1233 |
|
1234 |
+
if(name == 'PageView') {
|
1235 |
+
let expires = parseInt(options.cookie_duration);
|
1236 |
+
var currentTimeInSeconds=Date.now();
|
1237 |
+
var randomNum = Math.floor(1000000000 + Math.random() * 9000000000);
|
1238 |
+
timeoutDelay = 0;
|
1239 |
+
if(allData.delay > 0)
|
1240 |
+
{
|
1241 |
+
timeoutDelay = allData.delay;
|
1242 |
+
}
|
1243 |
+
if(!Cookies.get('_fbp'))
|
1244 |
+
{
|
1245 |
+
timeoutDelay = 100;
|
1246 |
+
}
|
1247 |
+
if(getUrlParameter('fbclid') && !Cookies.get('_fbc'))
|
1248 |
+
{
|
1249 |
+
timeoutDelay = 100;
|
1250 |
+
}
|
1251 |
+
setTimeout(function(){
|
1252 |
+
if(!Cookies.get('_fbp'))
|
1253 |
+
{
|
1254 |
+
Cookies.set('_fbp','fb.1.'+currentTimeInSeconds+'.'+randomNum, { expires: expires })
|
1255 |
+
}
|
1256 |
+
if(getUrlParameter('fbclid') && !Cookies.get('_fbc'))
|
1257 |
+
{
|
1258 |
+
Cookies.set('_fbc', 'fb.1.'+currentTimeInSeconds+'.'+getUrlParameter('fbclid'), { expires: expires })
|
1259 |
+
}
|
1260 |
+
jQuery.ajax( {
|
1261 |
+
type: 'POST',
|
1262 |
+
url: options.ajaxUrl,
|
1263 |
+
data: json,
|
1264 |
+
headers: {
|
1265 |
+
'Cache-Control': 'no-cache'
|
1266 |
+
},
|
1267 |
+
success: function(){},
|
1268 |
+
});
|
1269 |
+
},timeoutDelay)
|
1270 |
+
}
|
1271 |
+
else
|
1272 |
+
{
|
1273 |
jQuery.ajax( {
|
1274 |
type: 'POST',
|
1275 |
url: options.ajaxUrl,
|
1279 |
},
|
1280 |
success: function(){},
|
1281 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1282 |
}
|
1283 |
}
|
1284 |
}
|
2507 |
case "pinterest": return window.pys.Pinterest;
|
2508 |
}
|
2509 |
}
|
2510 |
+
var getUrlParameter = function getUrlParameter(sParam) {
|
2511 |
+
var sPageURL = window.location.search.substring(1),
|
2512 |
+
sURLVariables = sPageURL.split('&'),
|
2513 |
+
sParameterName,
|
2514 |
+
i;
|
2515 |
+
|
2516 |
+
for (i = 0; i < sURLVariables.length; i++) {
|
2517 |
+
sParameterName = sURLVariables[i].split('=');
|
2518 |
+
|
2519 |
+
if (sParameterName[0] === sParam) {
|
2520 |
+
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
|
2521 |
+
}
|
2522 |
+
}
|
2523 |
+
return false;
|
2524 |
+
};
|
dist/styles/notice.css
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Notify styles */
|
2 |
+
.wp-core-ui .notice.pys-fixed-notice {
|
3 |
+
background: #fff;
|
4 |
+
border-left: 1px solid #c3c4c7;
|
5 |
+
border-left-width: 4px;
|
6 |
+
box-shadow: 0 1px 1px rgb(0 0 0 / 4%);
|
7 |
+
margin: 10px 0px 10px;
|
8 |
+
padding: 1px 12px;
|
9 |
+
}
|
10 |
+
.wp-core-ui .notice.pys-fixed-notice .notice_content {
|
11 |
+
display: flex;
|
12 |
+
align-items: center;
|
13 |
+
justify-content: space-between;
|
14 |
+
gap: 30px;
|
15 |
+
|
16 |
+
}
|
17 |
+
.wp-core-ui .notice.pys-fixed-notice:not(.notice-disable-dismiss){
|
18 |
+
padding-right: 100px;
|
19 |
+
}
|
20 |
+
.notice.pys-fixed-notice .notice-item {
|
21 |
+
padding-top: 15px;
|
22 |
+
}
|
23 |
+
.notice.pys-fixed-notice .notice-content .notice-item:last-of-type hr{
|
24 |
+
display: none;
|
25 |
+
}
|
26 |
+
.notice.pys-fixed-notice .notice-title {
|
27 |
+
font-weight: bold;
|
28 |
+
margin: 5px 0;
|
29 |
+
}
|
30 |
+
.notice.pys-fixed-notice.notice-color-orange
|
31 |
+
{
|
32 |
+
border-left-color: #D2714E;
|
33 |
+
}
|
34 |
+
.notice.pys-fixed-notice.notice-color-blue
|
35 |
+
{
|
36 |
+
border-left-color: #1B2B9A;
|
37 |
+
}
|
38 |
+
.notice.pys-fixed-notice.notice-color-green
|
39 |
+
{
|
40 |
+
border-left-color: #8bc34a;
|
41 |
+
}
|
42 |
+
.notice.pys-fixed-notice .notice-message p {
|
43 |
+
font-size: 1.2em;
|
44 |
+
margin: 0;
|
45 |
+
padding: 0;
|
46 |
+
}
|
47 |
+
.notice.pys-fixed-notice .notice-message {
|
48 |
+
display: flex;
|
49 |
+
justify-content: space-between;
|
50 |
+
align-items: center;
|
51 |
+
gap: 30px;
|
52 |
+
margin-bottom: 25px;
|
53 |
+
}
|
54 |
+
.pys-fixed-notice .logo-notice img {
|
55 |
+
max-width: 100%;
|
56 |
+
}
|
57 |
+
.pys-fixed-notice .logo-notice {
|
58 |
+
width: 100px;
|
59 |
+
flex: 0 0 100px;
|
60 |
+
}
|
61 |
+
.pys-fixed-notice .notice-content {
|
62 |
+
flex: 1;
|
63 |
+
}
|
64 |
+
.notice-disable-dismiss .notice-dismiss
|
65 |
+
{
|
66 |
+
display: none;
|
67 |
+
}
|
68 |
+
/*.pys-chain-fixed-notice .custom-dismiss-button
|
69 |
+
{
|
70 |
+
position: absolute;
|
71 |
+
top: 0;
|
72 |
+
right: 1px;
|
73 |
+
border: none;
|
74 |
+
margin: 0;
|
75 |
+
padding: 9px;
|
76 |
+
background: 0 0;
|
77 |
+
color: #787c82;
|
78 |
+
cursor: pointer;
|
79 |
+
}
|
80 |
+
.pys-chain-fixed-notice .custom-dismiss-button:before
|
81 |
+
{
|
82 |
+
display: none;
|
83 |
+
}
|
84 |
+
.pys-chain-fixed-notice .custom-dismiss-button .screen-reader-text, .pys-chain-fixed-notice .custom-dismiss-button .screen-reader-text span {
|
85 |
+
display: block;
|
86 |
+
width: auto;
|
87 |
+
height: auto;
|
88 |
+
color: #F19E38;
|
89 |
+
clip: unset;
|
90 |
+
-webkit-clip-path: none;
|
91 |
+
position: relative;
|
92 |
+
background-color: #F0F2F5;
|
93 |
+
border: 1px solid #bbdefb;
|
94 |
+
padding: 5px;
|
95 |
+
top: 0;
|
96 |
+
}*/
|
97 |
+
.pys-fixed-notice .bottom-chanel-link {
|
98 |
+
font-size: 1.2em;
|
99 |
+
margin: 30px 0;
|
100 |
+
}
|
101 |
+
.pys-fixed-notice a.notice-watch-link
|
102 |
+
{
|
103 |
+
color: #fff!important;
|
104 |
+
background-color: #ef7908!important;
|
105 |
+
border-color: #ef7908!important;
|
106 |
+
padding: 0.5rem 1rem!important;
|
107 |
+
font-size: 1.25rem;
|
108 |
+
line-height: 1.5;
|
109 |
+
border-radius: 0.3rem;
|
110 |
+
display: inline-block;
|
111 |
+
cursor: pointer;
|
112 |
+
font-weight: 500;
|
113 |
+
text-align: center;
|
114 |
+
white-space: nowrap;
|
115 |
+
vertical-align: middle;
|
116 |
+
-webkit-user-select: none;
|
117 |
+
-moz-user-select: none;
|
118 |
+
-ms-user-select: none;
|
119 |
+
user-select: none;
|
120 |
+
border: 1px solid transparent;
|
121 |
+
padding: 0.375rem 0.75rem;
|
122 |
+
font-size: 1rem;
|
123 |
+
line-height: 1.2;
|
124 |
+
border-radius: 0.25rem;
|
125 |
+
text-decoration: none;
|
126 |
+
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
127 |
+
}
|
128 |
+
.pys-fixed-notice a.notice-watch-link:hover {
|
129 |
+
color: #fff;
|
130 |
+
background-color: #ca6607;
|
131 |
+
border-color: #be6006;
|
132 |
+
}
|
133 |
+
.pys-fixed-notice a.notice-watch-link:focus, .pys-fixed-notice a.notice-watch-link:hover {
|
134 |
+
text-decoration: none!important;
|
135 |
+
}
|
136 |
+
.notice_opt_out_block {
|
137 |
+
padding: 30px;
|
138 |
+
padding-left: 132px;
|
139 |
+
padding-right: 0px;
|
140 |
+
display: flex;
|
141 |
+
align-items: center;
|
142 |
+
justify-content: space-between;
|
143 |
+
gap: 30px;
|
144 |
+
}
|
145 |
+
.opt_out_dismiss_button {
|
146 |
+
white-space: nowrap;
|
147 |
+
}
|
148 |
+
.opt_out_dismiss_button button {
|
149 |
+
color: #3c434a!important;
|
150 |
+
background-color: #F0F0F2!important;
|
151 |
+
border-color: #F0F0F2!important;
|
152 |
+
padding: 0.25rem 0.5rem!important;
|
153 |
+
display: inline-block;
|
154 |
+
cursor: pointer;
|
155 |
+
font-weight: 500;
|
156 |
+
text-align: center;
|
157 |
+
white-space: nowrap;
|
158 |
+
vertical-align: middle;
|
159 |
+
-webkit-user-select: none;
|
160 |
+
-moz-user-select: none;
|
161 |
+
-ms-user-select: none;
|
162 |
+
user-select: none;
|
163 |
+
border: 1px solid transparent;
|
164 |
+
font-size: 0.8rem;
|
165 |
+
line-height: 1.2;
|
166 |
+
border-radius: 0.25rem;
|
167 |
+
text-decoration: none;
|
168 |
+
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
169 |
+
}
|
170 |
+
@media (max-width: 600px) {
|
171 |
+
.wp-core-ui .notice.pys-fixed-notice:not(.notice-disable-dismiss) {
|
172 |
+
padding-right: 25px;
|
173 |
+
}
|
174 |
+
.pys-fixed-notice .logo-notice {
|
175 |
+
width: 35px;
|
176 |
+
flex: 0 0 35px;
|
177 |
+
}
|
178 |
+
.notice.pys-fixed-notice .notice-title {
|
179 |
+
font-size: 15px;
|
180 |
+
}
|
181 |
+
.pys-fixed-notice a.notice-watch-link {
|
182 |
+
font-size: 0.85rem;
|
183 |
+
}
|
184 |
+
.notice.pys-fixed-notice .notice-message {
|
185 |
+
flex-direction: column;
|
186 |
+
gap: 15px;
|
187 |
+
align-items: flex-start;
|
188 |
+
}
|
189 |
+
.notice.pys-fixed-notice .notice-message p {
|
190 |
+
font-size: 1em;
|
191 |
+
margin: 0;
|
192 |
+
padding: 0;
|
193 |
+
}
|
194 |
+
.pys-fixed-notice .bottom-chanel-link {
|
195 |
+
font-size: 1em;
|
196 |
+
margin: 10px 0;
|
197 |
+
}
|
198 |
+
.pys-optin-notice.pys-notice-wrapper .pys-notice-content {
|
199 |
+
flex-direction: column;
|
200 |
+
display: flex;
|
201 |
+
}
|
202 |
+
.pys-optin-notice.pys-notice-wrapper .pys-notice-content form
|
203 |
+
{
|
204 |
+
display: flex;
|
205 |
+
flex-direction: column;
|
206 |
+
}
|
207 |
+
.pys-notice-form-group:not(:last-child) {
|
208 |
+
margin-right: 0px;
|
209 |
+
margin-bottom: 10px;
|
210 |
+
}
|
211 |
+
.notice_opt_out_block {
|
212 |
+
padding-left: 15px;
|
213 |
+
padding-right: 15px;
|
214 |
+
flex-direction: column;
|
215 |
+
align-items: flex-start;
|
216 |
+
}
|
217 |
+
}
|
facebook-pixel-master.php
CHANGED
@@ -4,16 +4,16 @@
|
|
4 |
* Plugin Name: PixelYourSite
|
5 |
* Plugin URI: http://www.pixelyoursite.com/
|
6 |
* Description: No coding <strong>Meta Pixel (formerly Facebook Pixel), Facebook Converion API,</strong> and <strong>Google Analytics</strong> install. Track key actions with our Automated Events, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our paid add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff. Full support for <strong>ConsentMagic.com</strong>.
|
7 |
-
* Version: 9.2.
|
8 |
* Author: PixelYourSite
|
9 |
* Author URI: http://www.pixelyoursite.com
|
10 |
* License: GPLv3
|
11 |
*
|
12 |
* Requires at least: 4.4
|
13 |
-
* Tested up to: 6.
|
14 |
*
|
15 |
* WC requires at least: 2.6.0
|
16 |
-
* WC tested up to:
|
17 |
*
|
18 |
* Text Domain: pys
|
19 |
*/
|
4 |
* Plugin Name: PixelYourSite
|
5 |
* Plugin URI: http://www.pixelyoursite.com/
|
6 |
* Description: No coding <strong>Meta Pixel (formerly Facebook Pixel), Facebook Converion API,</strong> and <strong>Google Analytics</strong> install. Track key actions with our Automated Events, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our paid add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff. Full support for <strong>ConsentMagic.com</strong>.
|
7 |
+
* Version: 9.2.1
|
8 |
* Author: PixelYourSite
|
9 |
* Author URI: http://www.pixelyoursite.com
|
10 |
* License: GPLv3
|
11 |
*
|
12 |
* Requires at least: 4.4
|
13 |
+
* Tested up to: 6.3
|
14 |
*
|
15 |
* WC requires at least: 2.6.0
|
16 |
+
* WC tested up to: 7.0
|
17 |
*
|
18 |
* Text Domain: pys
|
19 |
*/
|
includes/class-events-manager.php
CHANGED
@@ -34,9 +34,16 @@ class EventsManager {
|
|
34 |
|
35 |
wp_register_script( 'js-cookie', PYS_FREE_URL . '/dist/scripts/js.cookie-2.1.3.min.js', array(), '2.1.3' );
|
36 |
wp_enqueue_script( 'js-cookie' );
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
}
|
42 |
|
@@ -293,6 +300,9 @@ class EventsManager {
|
|
293 |
if(!PYS()->getOption('enable_page_title_param')) {
|
294 |
unset($data['params']['page_title']);
|
295 |
}
|
|
|
|
|
|
|
296 |
|
297 |
if($slug == EventsWoo::getSlug()) {
|
298 |
if(!PYS()->getOption("enable_woo_category_name_param")) {
|
34 |
|
35 |
wp_register_script( 'js-cookie', PYS_FREE_URL . '/dist/scripts/js.cookie-2.1.3.min.js', array(), '2.1.3' );
|
36 |
wp_enqueue_script( 'js-cookie' );
|
37 |
+
if ( PYS()->getOption( 'сompress_front_js' )){
|
38 |
+
wp_enqueue_script( 'pys', PYS_FREE_URL . '/dist/scripts/public.bundle.js',
|
39 |
+
array( 'jquery', 'js-cookie', 'jquery-bind-first' ), PYS_FREE_VERSION );
|
40 |
+
}
|
41 |
+
else
|
42 |
+
{
|
43 |
+
wp_enqueue_script( 'pys', PYS_FREE_URL . '/dist/scripts/public.js',
|
44 |
+
array( 'jquery', 'js-cookie', 'jquery-bind-first' ), PYS_FREE_VERSION );
|
45 |
+
}
|
46 |
+
|
47 |
|
48 |
}
|
49 |
|
300 |
if(!PYS()->getOption('enable_page_title_param')) {
|
301 |
unset($data['params']['page_title']);
|
302 |
}
|
303 |
+
if(!PYS()->getOption('enable_post_category_param')) {
|
304 |
+
unset($data['params']['post_category']);
|
305 |
+
}
|
306 |
|
307 |
if($slug == EventsWoo::getSlug()) {
|
308 |
if(!PYS()->getOption("enable_woo_category_name_param")) {
|
includes/class-fixed-notices.php
CHANGED
@@ -32,6 +32,7 @@ class NoticesFixed {
|
|
32 |
|
33 |
add_action( 'admin_notices', [$this,'showNotices'] );
|
34 |
add_action( 'wp_ajax_pys_fixed_notice_dismiss', [$this,'catchOnCloseNotice'] );
|
|
|
35 |
|
36 |
}
|
37 |
|
@@ -43,22 +44,45 @@ class NoticesFixed {
|
|
43 |
$this->isNeedToShow(adminGetFixedNotices(),(array)get_user_meta( $user_id, $this->dismissedKey,true ));
|
44 |
}
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
if ( empty( $
|
50 |
return;
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
|
|
|
|
|
|
54 |
return;
|
55 |
}
|
56 |
-
$userId = sanitize_text_field( $
|
57 |
$dismissedSlugs = (array)get_user_meta( $userId, $this->dismissedKey,true);
|
58 |
-
|
|
|
|
|
|
|
|
|
59 |
|
60 |
// save dismissed notice
|
61 |
update_user_meta($userId, $this->dismissedKey, $dismissedSlugs );
|
|
|
|
|
62 |
}
|
63 |
|
64 |
private function renderNotice($notice) {
|
@@ -74,29 +98,189 @@ class NoticesFixed {
|
|
74 |
$user_id = get_current_user_id();
|
75 |
|
76 |
?>
|
77 |
-
<div class="notice notice-info is-dismissible pys-fixed-notice" data-slug="<?=$notice['slug']?>">
|
78 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
</div>
|
80 |
<script type='application/javascript'>
|
81 |
-
jQuery(document).on('click', '.pys-fixed-notice .notice-dismiss', function () {
|
|
|
82 |
jQuery.ajax({
|
83 |
url: ajaxurl,
|
|
|
|
|
84 |
data: {
|
85 |
action: 'pys_fixed_notice_dismiss',
|
86 |
-
nonce: '<?php esc_attr_e( wp_create_nonce( 'pys_fixed_notice_dismiss' ) ); ?>',
|
87 |
user_id: '<?php esc_attr_e( $user_id ); ?>',
|
88 |
addon_slug: 'free',
|
89 |
-
meta_key: jQuery(this).parents('.pys-fixed-notice').data('slug')
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
91 |
});
|
92 |
});
|
93 |
</script>
|
94 |
<?php
|
95 |
}
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
if(isWooCommerceActive()) {
|
101 |
$activePlugins[]='woo';
|
102 |
}
|
@@ -106,21 +290,87 @@ class NoticesFixed {
|
|
106 |
if(isEddActive()) {
|
107 |
$activePlugins[]='edd';
|
108 |
}
|
109 |
-
|
|
|
|
|
110 |
// check is notice has some plugin dependencies
|
111 |
-
if( count($
|
112 |
-
|| (count(array_intersect($
|
113 |
-
|
114 |
) {
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
}
|
|
|
120 |
}
|
121 |
}
|
|
|
|
|
|
|
|
|
122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
125 |
|
126 |
/**
|
32 |
|
33 |
add_action( 'admin_notices', [$this,'showNotices'] );
|
34 |
add_action( 'wp_ajax_pys_fixed_notice_dismiss', [$this,'catchOnCloseNotice'] );
|
35 |
+
add_action('wp_ajax_pys_fixed_notice_opt_dismiss', [$this,'allCloseNotice']);
|
36 |
|
37 |
}
|
38 |
|
44 |
$this->isNeedToShow(adminGetFixedNotices(),(array)get_user_meta( $user_id, $this->dismissedKey,true ));
|
45 |
}
|
46 |
|
47 |
+
function allCloseNotice(){
|
48 |
+
require_once PYS_FREE_PATH . '/notices/fixed.php';
|
49 |
+
$notices = adminGetFixedNotices();
|
50 |
+
if ( empty( $_POST['user_id'] )) {
|
51 |
return;
|
52 |
}
|
53 |
+
$userId = sanitize_text_field( $_POST['user_id'] );
|
54 |
+
$dismissedSlugs = (array)get_user_meta( $userId, $this->dismissedKey,true);
|
55 |
+
foreach ($notices as $noticesGroup)
|
56 |
+
{
|
57 |
+
foreach ($noticesGroup['multiMessage'] as $noticesMessage) {
|
58 |
+
$dismissedSlugs[] = sanitize_text_field( $noticesMessage['slug'] );
|
59 |
+
}
|
60 |
+
|
61 |
+
}
|
62 |
+
$dismissedSlugs = array_unique($dismissedSlugs);
|
63 |
+
update_user_meta($userId, $this->dismissedKey, $dismissedSlugs );
|
64 |
+
echo json_encode($dismissedSlugs);
|
65 |
+
die();
|
66 |
+
}
|
67 |
|
68 |
+
function catchOnCloseNotice() {
|
69 |
+
require_once PYS_FREE_PATH . '/notices/fixed.php';
|
70 |
+
$notices = adminGetFixedNotices();
|
71 |
+
if ( empty( $_POST['user_id'] ) || empty( $_POST['addon_slug'] ) || empty( $_POST['meta_key'] ) ) {
|
72 |
return;
|
73 |
}
|
74 |
+
$userId = sanitize_text_field( $_POST['user_id'] );
|
75 |
$dismissedSlugs = (array)get_user_meta( $userId, $this->dismissedKey,true);
|
76 |
+
foreach ($_POST['meta_key'] as $meta_key)
|
77 |
+
{
|
78 |
+
$dismissedSlugs[] = sanitize_text_field( $meta_key );
|
79 |
+
}
|
80 |
+
|
81 |
|
82 |
// save dismissed notice
|
83 |
update_user_meta($userId, $this->dismissedKey, $dismissedSlugs );
|
84 |
+
echo json_encode($this->whoIsNext($notices));
|
85 |
+
die();
|
86 |
}
|
87 |
|
88 |
private function renderNotice($notice) {
|
98 |
$user_id = get_current_user_id();
|
99 |
|
100 |
?>
|
101 |
+
<div class="notice notice-info is-dismissible pys-promo-fixed-notice pys-fixed-notice <?php echo (isset($notice['enabelDismiss']) && $notice['enabelDismiss']==false)? 'notice-disable-dismiss' : '';?>" data-slug="<?=$notice['slug']?>">
|
102 |
+
<div class="logo-notice">
|
103 |
+
<img src="<?php echo PYS_FREE_URL; ?>/dist/images/logo-original.png" alt="plugin logo"/>
|
104 |
+
</div>
|
105 |
+
<div class="notice-content">
|
106 |
+
<div class="notice-item">
|
107 |
+
<?php if(isset($notice['title'])) : ?>
|
108 |
+
<div class="notice-title">
|
109 |
+
<span>
|
110 |
+
<?php echo $notice['title'];?>
|
111 |
+
</span>
|
112 |
+
</div>
|
113 |
+
<?php endif;?>
|
114 |
+
<?php if($notice['message']) : ?>
|
115 |
+
<div class="notice-message">
|
116 |
+
<p><?php echo $notice['message']; ?></p>
|
117 |
+
</div>
|
118 |
+
<?php endif;?>
|
119 |
+
</div>
|
120 |
+
</div>
|
121 |
+
<button type="button" class="notice-dismiss custom-dismiss-button"><span class="screen-reader-text">Dismiss</span></button>
|
122 |
</div>
|
123 |
<script type='application/javascript'>
|
124 |
+
jQuery(document).on('click', '.pys-promo-fixed-notice .notice-dismiss', function () {
|
125 |
+
_this = jQuery(this);
|
126 |
jQuery.ajax({
|
127 |
url: ajaxurl,
|
128 |
+
type: 'POST',
|
129 |
+
dataType: 'json',
|
130 |
data: {
|
131 |
action: 'pys_fixed_notice_dismiss',
|
|
|
132 |
user_id: '<?php esc_attr_e( $user_id ); ?>',
|
133 |
addon_slug: 'free',
|
134 |
+
meta_key: [jQuery(this).parents('.pys-promo-fixed-notice').data('slug')]
|
135 |
+
},
|
136 |
+
success: function (response)
|
137 |
+
{
|
138 |
+
console.log(response);
|
139 |
+
_this.closest('.pys-promo-fixed-notice').slideUp();
|
140 |
}
|
141 |
});
|
142 |
});
|
143 |
</script>
|
144 |
<?php
|
145 |
}
|
146 |
+
private function renderNoticeGroped($group)
|
147 |
+
{
|
148 |
+
if ( ! current_user_can( 'manage_pys' ) ) {
|
149 |
+
return;
|
150 |
+
}
|
151 |
|
152 |
+
$user_id = get_current_user_id();
|
153 |
+
if(isset($group['multiMessage'])):
|
154 |
+
?>
|
155 |
+
<div class="notice notice-info is-dismissible pys-chain-fixed-notice pys-fixed-notice <?php echo isset($group['color'])? 'notice-color-'.$group['color']:'';?> <?php echo (isset($group['enabelDismiss']) && $group['enabelDismiss']==false)? 'notice-disable-dismiss' : '';?>" >
|
156 |
+
<div class="notice_content">
|
157 |
+
<?php if(isset($group['enabelLogo']) && $group['enabelLogo']!=false) :?>
|
158 |
+
<div class="logo-notice">
|
159 |
+
<img src="<?php echo PYS_FREE_URL; ?>/dist/images/logo-original.png" alt="plugin logo"/>
|
160 |
+
</div>
|
161 |
+
<?php endif;?>
|
162 |
+
<div class="notice-content">
|
163 |
+
<?php foreach ($group['multiMessage'] as $notice) :
|
164 |
+
if ( ! $notice ) {
|
165 |
+
return;
|
166 |
+
}
|
167 |
+
?>
|
168 |
+
|
169 |
+
<div class="notice-item" data-slug="<?=$notice['slug']?>">
|
170 |
+
<?php if(isset($notice['title']) && $notice['title'] != '') : ?>
|
171 |
+
<div class="notice-title">
|
172 |
+
<span>
|
173 |
+
<?php echo $notice['title'];?>
|
174 |
+
</span>
|
175 |
+
</div>
|
176 |
+
<?php endif;?>
|
177 |
+
<?php if(isset($notice['message']) && $notice['message'] != '') : ?>
|
178 |
+
<div class="notice-message">
|
179 |
+
<p><?php echo $notice['message']; ?></p>
|
180 |
+
<?php if((isset($notice['button_text']) && isset($notice['button_url'])) && ($notice['button_text'] != '' && $notice['button_url'] != '')) : ?>
|
181 |
+
<a class="notice-watch-link" href="<?= $notice['button_url']?>" target="_blank"><?= $notice['button_text']?></a>
|
182 |
+
<?php endif;?>
|
183 |
+
</div>
|
184 |
+
<?php endif;?>
|
185 |
+
<hr>
|
186 |
+
</div>
|
187 |
+
|
188 |
+
<?php endforeach;?>
|
189 |
+
<?php if(isset($group['enabelYoutubeLink']) && $group['enabelYoutubeLink']!=false) :?>
|
190 |
+
<div class="bottom-chanel-link">
|
191 |
+
<span>Improve your tracking with our video tips: <a href="https://www.youtube.com/channel/UCnie2zvwAjTLz9B4rqvAlFQ?sub_confirmation=1" target="_blank">Subscribe to our YouTube channel</a></span>
|
192 |
+
</div>
|
193 |
+
<?php endif;?>
|
194 |
+
</div>
|
195 |
+
|
196 |
+
<button type="button" class="notice-dismiss custom-dismiss-button"><span class="screen-reader-text">Dismiss</span></button>
|
197 |
+
</div>
|
198 |
+
<?php if(isset($group['optoutEnabel']) && $group['optoutEnabel']!=false) : ?>
|
199 |
+
<div class="notice_opt_out_block">
|
200 |
+
<div class="opt_out_message">
|
201 |
+
<span><?php echo $group['optoutMessage'];?></span>
|
202 |
+
</div>
|
203 |
+
<div class="opt_out_dismiss_button"><button><?php echo $group['optoutButtonText'];?></button></div>
|
204 |
+
</div>
|
205 |
+
<?php endif;?>
|
206 |
+
</div>
|
207 |
|
208 |
+
<?php endif;?>
|
209 |
+
<script type='application/javascript'>
|
210 |
+
jQuery(document).on('click','.opt_out_dismiss_button button', function (e){
|
211 |
+
e.preventDefault();
|
212 |
+
_this = jQuery(this);
|
213 |
+
jQuery.ajax({
|
214 |
+
url: ajaxurl,
|
215 |
+
type: 'POST',
|
216 |
+
dataType: 'json',
|
217 |
+
data: {
|
218 |
+
action: 'pys_fixed_notice_opt_dismiss',
|
219 |
+
user_id: '<?php esc_attr_e( $user_id ); ?>',
|
220 |
+
addon_slug: 'pro'
|
221 |
+
},
|
222 |
+
success: function (response)
|
223 |
+
{
|
224 |
+
_this.closest('.pys-chain-fixed-notice').slideUp();
|
225 |
+
}
|
226 |
+
});
|
227 |
+
});
|
228 |
+
jQuery(document).on('click', '.pys-chain-fixed-notice .notice-watch-link', function (e) {
|
229 |
+
_this = jQuery(this);
|
230 |
+
jQuery.ajax({
|
231 |
+
url: ajaxurl,
|
232 |
+
type: 'POST',
|
233 |
+
dataType: 'json',
|
234 |
+
data: {
|
235 |
+
action: 'pys_fixed_notice_dismiss',
|
236 |
+
user_id: '<?php esc_attr_e( $user_id ); ?>',
|
237 |
+
addon_slug: 'free',
|
238 |
+
meta_key: [_this.closest('.notice-item').data('slug')]
|
239 |
+
},
|
240 |
+
success: function (response)
|
241 |
+
{
|
242 |
+
console.log(response);
|
243 |
+
_this.closest('.notice-item').addClass('closed-notice');
|
244 |
+
_this.closest('.notice-item').slideUp();
|
245 |
+
if(_this.closest('.pys-chain-fixed-notice').find('.notice-item').length == _this.closest('.pys-chain-fixed-notice').find('.notice-item.closed-notice').length)
|
246 |
+
{
|
247 |
+
_this.closest('.pys-chain-fixed-notice').slideUp();
|
248 |
+
}
|
249 |
+
}
|
250 |
+
});
|
251 |
+
});
|
252 |
+
</script>
|
253 |
+
<script type='application/javascript'>
|
254 |
+
jQuery(document).on('click', '.pys-chain-fixed-notice .notice-dismiss', function () {
|
255 |
+
var array_notice = [];
|
256 |
+
jQuery(this).closest('.pys-chain-fixed-notice').find('.notice-item').each(function (){
|
257 |
+
array_notice.push(jQuery(this).data('slug'));
|
258 |
+
})
|
259 |
+
_this = jQuery(this);
|
260 |
+
jQuery.ajax({
|
261 |
+
url: ajaxurl,
|
262 |
+
type: 'POST',
|
263 |
+
dataType: 'json',
|
264 |
+
data: {
|
265 |
+
action: 'pys_fixed_notice_dismiss',
|
266 |
+
user_id: '<?php esc_attr_e( $user_id ); ?>',
|
267 |
+
addon_slug: 'free',
|
268 |
+
meta_key: array_notice
|
269 |
+
},
|
270 |
+
success: function (response)
|
271 |
+
{
|
272 |
+
console.log(response);
|
273 |
+
console.log(_this.closest('.pys-chain-fixed-notice'));
|
274 |
+
_this.closest('.pys-chain-fixed-notice').slideUp();
|
275 |
+
},
|
276 |
+
});
|
277 |
+
});
|
278 |
+
</script>
|
279 |
+
<?php
|
280 |
+
}
|
281 |
+
private function isNeedToShow($noticeGroups,$showedNoticesSlug) {
|
282 |
+
$activePlugins = [];
|
283 |
+
$grouped_notice_by_multimessage = array();
|
284 |
if(isWooCommerceActive()) {
|
285 |
$activePlugins[]='woo';
|
286 |
}
|
290 |
if(isEddActive()) {
|
291 |
$activePlugins[]='edd';
|
292 |
}
|
293 |
+
|
294 |
+
foreach ($noticeGroups as $keyGroup => $noticeGroup) {
|
295 |
+
|
296 |
// check is notice has some plugin dependencies
|
297 |
+
if( isset($noticeGroup['plugins']) && (count($noticeGroup['plugins']) == 0
|
298 |
+
|| (count(array_intersect($noticeGroup['plugins'], $activePlugins)) == count($activePlugins)
|
299 |
+
&& count($noticeGroup['plugins']) == count($activePlugins)))
|
300 |
) {
|
301 |
+
if(isset($noticeGroup['type']) && $noticeGroup['type'] == 'promo'){
|
302 |
+
if(!in_array($noticeGroup['slug'],$showedNoticesSlug)) {
|
303 |
+
$this->renderNotice($noticeGroup);
|
304 |
+
}
|
305 |
}
|
306 |
+
|
307 |
}
|
308 |
}
|
309 |
+
|
310 |
+
$this->renderNoticeGroped($this->whoIsNext($noticeGroups));
|
311 |
+
|
312 |
+
|
313 |
}
|
314 |
+
private function whoIsNext($noticeGroups) {
|
315 |
+
$minOrderBlock = 999999;
|
316 |
+
$user_id = get_current_user_id();
|
317 |
+
$noticeBlock = array();
|
318 |
+
foreach ($noticeGroups as $keyGroup => $noticeGroup) {
|
319 |
+
if(isset($noticeGroup['type']) && $noticeGroup['type'] == 'event chain')
|
320 |
+
{
|
321 |
+
$paramGroup = $noticeGroup;
|
322 |
+
unset($paramGroup['multiMessage']);
|
323 |
+
$noticeBlock[$noticeGroup['order']] = $paramGroup;
|
324 |
+
foreach ($noticeGroup['multiMessage'] as $notice){
|
325 |
+
if(!in_array($notice['slug'], (array)get_user_meta( $user_id, $this->dismissedKey,true ))) {
|
326 |
+
$noticeBlock[$noticeGroup['order']]['multiMessage'][] = $notice;
|
327 |
+
}
|
328 |
+
}
|
329 |
+
}
|
330 |
+
}
|
331 |
|
332 |
+
foreach ($noticeBlock as $block)
|
333 |
+
{
|
334 |
+
if(($block['order'] <= $minOrderBlock) && isset($block['multiMessage'])){
|
335 |
+
$minOrderBlock = $block['order'];
|
336 |
+
}
|
337 |
+
}
|
338 |
+
if(get_user_meta($user_id, 'free_next_chain_notice', true) != $minOrderBlock)
|
339 |
+
{
|
340 |
+
|
341 |
+
if(get_user_meta($user_id, 'free_next_chain_notice', true) < $minOrderBlock && $minOrderBlock != 999999)
|
342 |
+
{
|
343 |
+
update_user_meta($user_id, 'free_expiration_chain_notice_dismissed_at', time() + $this->convertTimeToSeconds(isset($noticeBlock[$minOrderBlock]['wait']) ? $noticeBlock[$minOrderBlock]['wait'] : 24, 'hours'));
|
344 |
+
}
|
345 |
+
else if(get_user_meta($user_id, 'free_next_chain_notice', true) > $minOrderBlock && $minOrderBlock != 999999)
|
346 |
+
{
|
347 |
+
update_user_meta($user_id, 'free_expiration_chain_notice_dismissed_at', time() + $this->convertTimeToSeconds(0, 'seconds'));
|
348 |
+
}
|
349 |
+
update_user_meta($user_id, 'free_next_chain_notice', $minOrderBlock);
|
350 |
+
|
351 |
+
}
|
352 |
+
if(isset($noticeBlock[$minOrderBlock]) && (get_user_meta($user_id, 'free_next_chain_notice', true) == $minOrderBlock && time() >= get_user_meta($user_id, 'free_expiration_chain_notice_dismissed_at', true)))
|
353 |
+
{
|
354 |
+
|
355 |
+
return $noticeBlock[$minOrderBlock];
|
356 |
+
}
|
357 |
+
|
358 |
+
}
|
359 |
+
private function convertTimeToSeconds($timeValue = 24, $type = 'hours')
|
360 |
+
{
|
361 |
+
switch ($type){
|
362 |
+
case 'hours':
|
363 |
+
$time = $timeValue * 60 * 60;
|
364 |
+
break;
|
365 |
+
case 'minute':
|
366 |
+
$time = $timeValue * 60;
|
367 |
+
break;
|
368 |
+
case 'seconds':
|
369 |
+
$time = $timeValue;
|
370 |
+
break;
|
371 |
+
}
|
372 |
+
return $time;
|
373 |
+
}
|
374 |
}
|
375 |
|
376 |
/**
|
includes/class-pys.php
CHANGED
@@ -62,7 +62,6 @@ final class PYS extends Settings implements Plugin {
|
|
62 |
add_action( 'admin_menu', array( $this, 'adminMenu' ) );
|
63 |
add_action( 'admin_enqueue_scripts', array( $this, 'adminEnqueueScripts' ) );
|
64 |
add_action( 'admin_notices', 'PixelYourSite\adminRenderNotices' );
|
65 |
-
add_action( 'admin_notices', 'PixelYourSite\adminRenderPromoNotice' );
|
66 |
add_action( 'admin_init', array( $this, 'adminProcessRequest' ), 11 );
|
67 |
|
68 |
// run Events Manager
|
@@ -178,7 +177,7 @@ final class PYS extends Settings implements Plugin {
|
|
178 |
* @param \WP_User $user
|
179 |
*/
|
180 |
function userLogin($user_login, $user) {
|
181 |
-
|
182 |
}
|
183 |
|
184 |
public function userRegisterHandler( $user_id ) {
|
@@ -337,7 +336,7 @@ final class PYS extends Settings implements Plugin {
|
|
337 |
}
|
338 |
|
339 |
public function adminEnqueueScripts() {
|
340 |
-
|
341 |
if ( in_array( getCurrentAdminPage(), $this->adminPagesSlugs ) ) {
|
342 |
|
343 |
|
62 |
add_action( 'admin_menu', array( $this, 'adminMenu' ) );
|
63 |
add_action( 'admin_enqueue_scripts', array( $this, 'adminEnqueueScripts' ) );
|
64 |
add_action( 'admin_notices', 'PixelYourSite\adminRenderNotices' );
|
|
|
65 |
add_action( 'admin_init', array( $this, 'adminProcessRequest' ), 11 );
|
66 |
|
67 |
// run Events Manager
|
177 |
* @param \WP_User $user
|
178 |
*/
|
179 |
function userLogin($user_login, $user) {
|
180 |
+
update_user_meta($user->ID,'pys_just_login',true);
|
181 |
}
|
182 |
|
183 |
public function userRegisterHandler( $user_id ) {
|
336 |
}
|
337 |
|
338 |
public function adminEnqueueScripts() {
|
339 |
+
wp_enqueue_style( 'pys_notice', PYS_FREE_URL . '/dist/styles/notice.css', array(), PYS_FREE_VERSION );
|
340 |
if ( in_array( getCurrentAdminPage(), $this->adminPagesSlugs ) ) {
|
341 |
|
342 |
|
includes/functions-promo-notices.php
CHANGED
@@ -62,19 +62,13 @@ function adminGetCurrentPromoNotice() {
|
|
62 |
// clean installation
|
63 |
|
64 |
/** @noinspection PhpIncludeInspection */
|
65 |
-
|
66 |
-
|
67 |
-
// remember set name
|
68 |
-
update_user_meta( $user_id, 'pys_free_current_promo_notices_set', '0_clean' );
|
69 |
|
70 |
} else {
|
71 |
// update from pre 7.x
|
72 |
|
73 |
/** @noinspection PhpIncludeInspection */
|
74 |
-
|
75 |
-
|
76 |
-
// remember set name
|
77 |
-
update_user_meta( $user_id, 'pys_free_current_promo_notices_set', '1_from_pre_7x' );
|
78 |
|
79 |
}
|
80 |
|
62 |
// clean installation
|
63 |
|
64 |
/** @noinspection PhpIncludeInspection */
|
65 |
+
|
|
|
|
|
|
|
66 |
|
67 |
} else {
|
68 |
// update from pre 7.x
|
69 |
|
70 |
/** @noinspection PhpIncludeInspection */
|
71 |
+
|
|
|
|
|
|
|
72 |
|
73 |
}
|
74 |
|
includes/logger/class-pys-logger.php
CHANGED
@@ -86,6 +86,9 @@ class PYS_Logger
|
|
86 |
|
87 |
if ( $file ) {
|
88 |
if ( ! file_exists( $file ) ) {
|
|
|
|
|
|
|
89 |
$temphandle = @fopen( $file, 'w+' ); // @codingStandardsIgnoreLine.
|
90 |
if ( is_resource( $temphandle ) ) {
|
91 |
@fclose( $temphandle ); // @codingStandardsIgnoreLine.
|
86 |
|
87 |
if ( $file ) {
|
88 |
if ( ! file_exists( $file ) ) {
|
89 |
+
if(!is_dir(trailingslashit( PYS_FREE_PATH ).'logs/')) {
|
90 |
+
mkdir(trailingslashit( PYS_FREE_PATH ).'logs/', 0777, true);
|
91 |
+
}
|
92 |
$temphandle = @fopen( $file, 'w+' ); // @codingStandardsIgnoreLine.
|
93 |
if ( is_resource( $temphandle ) ) {
|
94 |
@fclose( $temphandle ); // @codingStandardsIgnoreLine.
|
includes/options_defaults.json
CHANGED
@@ -97,7 +97,7 @@
|
|
97 |
"enable_user_role_param":true,
|
98 |
"enable_page_title_param":true,
|
99 |
"enable_post_type_param": true,
|
100 |
-
|
101 |
"enable_woo_category_name_param": true,
|
102 |
"enable_woo_num_items_param": true,
|
103 |
"enable_woo_tags_param":true,
|
97 |
"enable_user_role_param":true,
|
98 |
"enable_page_title_param":true,
|
99 |
"enable_post_type_param": true,
|
100 |
+
"enable_post_category_param": true,
|
101 |
"enable_woo_category_name_param": true,
|
102 |
"enable_woo_num_items_param": true,
|
103 |
"enable_woo_tags_param":true,
|
includes/options_fields.json
CHANGED
@@ -92,6 +92,9 @@
|
|
92 |
"enable_user_role_param":"checkbox",
|
93 |
"enable_page_title_param":"checkbox",
|
94 |
"enable_post_type_param": "checkbox",
|
|
|
|
|
|
|
95 |
|
96 |
"enable_woo_category_name_param": "checkbox",
|
97 |
"enable_woo_num_items_param": "checkbox",
|
92 |
"enable_user_role_param":"checkbox",
|
93 |
"enable_page_title_param":"checkbox",
|
94 |
"enable_post_type_param": "checkbox",
|
95 |
+
"enable_post_category_param": "checkbox",
|
96 |
+
"сompress_front_js": "checkbox",
|
97 |
+
|
98 |
|
99 |
"enable_woo_category_name_param": "checkbox",
|
100 |
"enable_woo_num_items_param": "checkbox",
|
includes/views/html-main-general.php
CHANGED
@@ -243,10 +243,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
243 |
<p><a href="https://www.youtube.com/watch?v=PsKdCkKNeLU" target="_blank">Facebook Conversion API and the Consent Problem (9:25 min) - watch now</a></p>
|
244 |
<p><a href="https://www.youtube.com/watch?v=kEp5BDg7dP0" target="_blank">How to fire EVENTS with PixelYourSite (22:28) - watch now</a></p>
|
245 |
<p><a href="https://www.youtube.com/watch?v=zkb67djRnd0" target="_blank">FIX IT: PixelYourSite high number of admin-ajax requests (9:04) - watch now</a></p>
|
246 |
-
<p><a href="https://www.youtube.com/watch?v=EvzGMAvBnbs" target="_blank">
|
247 |
-
How to create Meta (Facebook) Custom Audiences & Lookalikes based on Events & Parameters (21:53) - watch now
|
248 |
-
</a>
|
249 |
-
</p>
|
250 |
<p>
|
251 |
<a href="https://www.youtube.com/watch?v=w97FATUy7ok" target="_blank">
|
252 |
How to configure Custom Conversions on Meta (Facebook) based on Events & Parameters (11:03) - watch now
|
@@ -257,6 +254,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
257 |
How to run A/B tests with Google Optimize and GA4 (6:07)
|
258 |
</a>
|
259 |
</p>
|
|
|
|
|
260 |
</div>
|
261 |
</div>
|
262 |
<div class="row">
|
@@ -736,6 +735,13 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
736 |
<hr>
|
737 |
</div>
|
738 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
739 |
<div class="row mt-3">
|
740 |
<div class="col-12">
|
741 |
<?php PYS()->render_switcher_input("enable_post_id_param");?>
|
@@ -863,11 +869,32 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
863 |
</div>
|
864 |
</div>
|
865 |
|
866 |
-
<div class="row">
|
867 |
<div class="col">
|
868 |
<?php PYS()->render_switcher_input( 'enable_remove_download_url_param' ); ?>
|
869 |
<h4 class="switcher-label">Remove download_url parameters.</h4>
|
870 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
871 |
</div>
|
872 |
</div>
|
873 |
|
243 |
<p><a href="https://www.youtube.com/watch?v=PsKdCkKNeLU" target="_blank">Facebook Conversion API and the Consent Problem (9:25 min) - watch now</a></p>
|
244 |
<p><a href="https://www.youtube.com/watch?v=kEp5BDg7dP0" target="_blank">How to fire EVENTS with PixelYourSite (22:28) - watch now</a></p>
|
245 |
<p><a href="https://www.youtube.com/watch?v=zkb67djRnd0" target="_blank">FIX IT: PixelYourSite high number of admin-ajax requests (9:04) - watch now</a></p>
|
246 |
+
<p><a href="https://www.youtube.com/watch?v=EvzGMAvBnbs" target="_blank">How to create Meta (Facebook) Custom Audiences & Lookalikes based on Events & Parameters (21:53) - watch now</a></p>
|
|
|
|
|
|
|
247 |
<p>
|
248 |
<a href="https://www.youtube.com/watch?v=w97FATUy7ok" target="_blank">
|
249 |
How to configure Custom Conversions on Meta (Facebook) based on Events & Parameters (11:03) - watch now
|
254 |
How to run A/B tests with Google Optimize and GA4 (6:07)
|
255 |
</a>
|
256 |
</p>
|
257 |
+
<p><a href="https://www.youtube.com/watch?v=snUKcsTbvCk" target="_blank">Improve META (Facebook) EMQ score
|
258 |
+
with form automatic data detection (11:48) - watch now</a></p>
|
259 |
</div>
|
260 |
</div>
|
261 |
<div class="row">
|
735 |
<hr>
|
736 |
</div>
|
737 |
</div>
|
738 |
+
<div class="row">
|
739 |
+
<div class="col">
|
740 |
+
<?php PYS()->render_switcher_input('enable_post_category_param'); ?>
|
741 |
+
<h4 class="switcher-label">post_category</h4>
|
742 |
+
<hr>
|
743 |
+
</div>
|
744 |
+
</div>
|
745 |
<div class="row mt-3">
|
746 |
<div class="col-12">
|
747 |
<?php PYS()->render_switcher_input("enable_post_id_param");?>
|
869 |
</div>
|
870 |
</div>
|
871 |
|
872 |
+
<div class="row mb-3">
|
873 |
<div class="col">
|
874 |
<?php PYS()->render_switcher_input( 'enable_remove_download_url_param' ); ?>
|
875 |
<h4 class="switcher-label">Remove download_url parameters.</h4>
|
876 |
+
|
877 |
+
</div>
|
878 |
+
</div>
|
879 |
+
<div class="row mb-3">
|
880 |
+
<div class="col">
|
881 |
+
<div class="form-inline">
|
882 |
+
<?php PYS()->render_switcher_input('сompress_front_js'); ?>
|
883 |
+
<h4 class="switcher-label">Compress frontend js</h4>
|
884 |
+
</div>
|
885 |
+
|
886 |
+
<small class="mt-1">Compress JS files (please test all your events if you enable this option because it can create conflicts with various caches).</small>
|
887 |
+
</div>
|
888 |
+
</div>
|
889 |
+
<div class="row">
|
890 |
+
<div class="col">
|
891 |
+
<?php renderDummySwitcher(false); ?>
|
892 |
+
<h4 class="switcher-label">Advanced user-data detection <a href="https://www.youtube.com/watch?v=snUKcsTbvCk" target="_blank">Watch video</a></h4>
|
893 |
+
<?php renderProBadge(); ?>
|
894 |
+
<small class="mt-1 d-block">
|
895 |
+
The plugin will try to detect user-related data like email, phone, first name, or last name and use it for subsequent Meta CAPI events personal parameters, and Meta browser events Advanced Matching. It works with most WordPress forms (email, phone number) and WooCommerce orders.
|
896 |
+
</small>
|
897 |
+
<hr>
|
898 |
</div>
|
899 |
</div>
|
900 |
|
modules/facebook/PYSServerEventHelper.php
CHANGED
@@ -178,13 +178,32 @@ class ServerEventHelper {
|
|
178 |
if($order->get_billing_postcode()) {
|
179 |
$userData->setZipCode($order->get_billing_postcode());
|
180 |
}
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
|
189 |
} else {
|
190 |
if($order->billing_postcode) {
|
@@ -214,8 +233,11 @@ class ServerEventHelper {
|
|
214 |
$payment_id = (int) edd_get_purchase_id_by_key( $payment_key );
|
215 |
}
|
216 |
$user_info = edd_get_payment_meta_user_info($payment_id);
|
|
|
|
|
|
|
|
|
217 |
|
218 |
-
$userData->setEmail(edd_get_payment_user_email($payment_id));
|
219 |
|
220 |
if(isset($user_info['first_name']))
|
221 |
$userData->setFirstName($user_info['first_name']);
|
178 |
if($order->get_billing_postcode()) {
|
179 |
$userData->setZipCode($order->get_billing_postcode());
|
180 |
}
|
181 |
+
if($order->get_billing_country()) {
|
182 |
+
$userData->setCountryCode(strtolower($order->get_billing_country()));
|
183 |
+
}
|
184 |
+
if($order->get_billing_email()) {
|
185 |
+
$userData->setEmail($order->get_billing_email());
|
186 |
+
}
|
187 |
+
|
188 |
+
if($order->get_billing_phone()) {
|
189 |
+
$userData->setPhone($order->get_billing_phone());
|
190 |
+
}
|
191 |
+
|
192 |
+
if($order->get_billing_first_name()) {
|
193 |
+
$userData->setFirstName($order->get_billing_first_name());
|
194 |
+
}
|
195 |
+
|
196 |
+
if($order->get_billing_last_name()) {
|
197 |
+
$userData->setLastName($order->get_billing_last_name());
|
198 |
+
}
|
199 |
+
|
200 |
+
if($order->get_billing_city()) {
|
201 |
+
$userData->setCity($order->get_billing_city());
|
202 |
+
}
|
203 |
+
|
204 |
+
if($order->get_billing_state()) {
|
205 |
+
$userData->setState($order->get_billing_state());
|
206 |
+
}
|
207 |
|
208 |
} else {
|
209 |
if($order->billing_postcode) {
|
233 |
$payment_id = (int) edd_get_purchase_id_by_key( $payment_key );
|
234 |
}
|
235 |
$user_info = edd_get_payment_meta_user_info($payment_id);
|
236 |
+
$email = edd_get_payment_user_email($payment_id);
|
237 |
+
if($email) {
|
238 |
+
$userData->setEmail($email);
|
239 |
+
}
|
240 |
|
|
|
241 |
|
242 |
if(isset($user_info['first_name']))
|
243 |
$userData->setFirstName($user_info['first_name']);
|
notices/0_clean.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PixelYourSite;
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
-
exit; // Exit if accessed directly.
|
7 |
-
}
|
8 |
-
|
9 |
-
function adminGetPromoNoticesContent() {
|
10 |
-
return [
|
11 |
-
'woo' => [
|
12 |
-
|
13 |
-
],
|
14 |
-
'edd' => [
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
],
|
19 |
-
'no_woo_no_edd' => [
|
20 |
-
|
21 |
-
|
22 |
-
],
|
23 |
-
|
24 |
-
'next' => '8_0_3'
|
25 |
-
|
26 |
-
];
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notices/1_from_pre_7x.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PixelYourSite;
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
-
exit; // Exit if accessed directly.
|
7 |
-
}
|
8 |
-
|
9 |
-
function adminGetPromoNoticesContent() {
|
10 |
-
return [
|
11 |
-
'woo' => [
|
12 |
-
|
13 |
-
],
|
14 |
-
'edd' => [
|
15 |
-
|
16 |
-
],
|
17 |
-
'no_woo_no_edd' => [
|
18 |
-
|
19 |
-
],
|
20 |
-
|
21 |
-
'next' => '8_0_3'
|
22 |
-
|
23 |
-
];
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notices/7_1_0.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PixelYourSite;
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
-
exit; // Exit if accessed directly.
|
7 |
-
}
|
8 |
-
|
9 |
-
function adminGetPromoNoticesContent() {
|
10 |
-
return [
|
11 |
-
'woo' => [
|
12 |
-
|
13 |
-
],
|
14 |
-
'edd' => [
|
15 |
-
|
16 |
-
],
|
17 |
-
'no_woo_no_edd' => [
|
18 |
-
|
19 |
-
],
|
20 |
-
|
21 |
-
'next' => '8_0_3'
|
22 |
-
|
23 |
-
];
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notices/7_1_8.php
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PixelYourSite;
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
-
exit; // Exit if accessed directly.
|
7 |
-
}
|
8 |
-
|
9 |
-
function adminGetPromoNoticesContent() {
|
10 |
-
return [
|
11 |
-
'woo' => [
|
12 |
-
|
13 |
-
[
|
14 |
-
'disabled' => false,
|
15 |
-
// 'from' => 1,
|
16 |
-
// 'to' => 2,
|
17 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem" target="_blank">Click here</a>
|
18 |
-
</br></br>
|
19 |
-
How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook" target="_blank">Click here</a>
|
20 |
-
</br></br>
|
21 |
-
Find out about Custom Conversion using the Signal event: <a href="https://www.pixelyoursite.com/signal-custom-conversions-aem" target="_blank">Click here</a>
|
22 |
-
</br></br>
|
23 |
-
Add the TikTok Tag with <a href="https://www.pixelyoursite.com/tiktok-tag-pixelyoursite" target="_blank">PixelYourSite Professional</a>.'
|
24 |
-
],
|
25 |
-
|
26 |
-
|
27 |
-
],
|
28 |
-
'edd' => [
|
29 |
-
|
30 |
-
[
|
31 |
-
'disabled' => false,
|
32 |
-
// 'from' => 0,
|
33 |
-
// 'to' => 1,
|
34 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem" target="_blank">Click here</a>
|
35 |
-
</br></br>
|
36 |
-
How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook" target="_blank">Click here</a>
|
37 |
-
</br></br>
|
38 |
-
Find out about Custom Conversion using the Signal event: <a href="https://www.pixelyoursite.com/signal-custom-conversions-aem" target="_blank">Click here</a>
|
39 |
-
</br></br>
|
40 |
-
Add the TikTok Tag with <a href="https://www.pixelyoursite.com/tiktok-tag-pixelyoursite" target="_blank">PixelYourSite Professional</a>.'
|
41 |
-
],
|
42 |
-
|
43 |
-
],
|
44 |
-
'no_woo_no_edd' => [
|
45 |
-
|
46 |
-
[
|
47 |
-
'disabled' => false,
|
48 |
-
// 'from' => 0,
|
49 |
-
// 'to' => 1,
|
50 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem" target="_blank">Click here</a>
|
51 |
-
</br></br>
|
52 |
-
How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook" target="_blank">Click here</a>
|
53 |
-
</br></br>
|
54 |
-
Find out about Custom Conversion using the Signal event: <a href="https://www.pixelyoursite.com/signal-custom-conversions-aem" target="_blank">Click here</a></br></br>'
|
55 |
-
],
|
56 |
-
|
57 |
-
],
|
58 |
-
];
|
59 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notices/8_0_3.php
DELETED
@@ -1,56 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace PixelYourSite;
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
-
exit; // Exit if accessed directly.
|
7 |
-
}
|
8 |
-
|
9 |
-
function adminGetPromoNoticesContent() {
|
10 |
-
return [
|
11 |
-
'woo' => [
|
12 |
-
|
13 |
-
[
|
14 |
-
'disabled' => false,
|
15 |
-
// 'from' => 1,
|
16 |
-
// 'to' => 2,
|
17 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:</br></br>How to find what WooCommerce products your Meta campaigns sold: <a href="https://www.youtube.com/watch?v=b-eYdx9QK0Q" target="_blank">Watch Video</a>
|
18 |
-
</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem?utm_source=free-plugin-notice-aem-link-woo&utm_medium=free-plugin-notice-aem-link-woo&utm_campaign=free-plugin-notice-aem-link-woo&utm_content=free-plugin-notice-aem-link-woo&utm_term=free-plugin-notice-aem-link-woo" target="_blank">Click here</a>
|
19 |
-
</br></br>How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook?utm_source=free-plugin-notice-verifydomain-woo&utm_medium=free-plugin-notice-verifydomain-woo&utm_campaign=free-plugin-notice-verifydomain-woo&utm_content=free-plugin-notice-verifydomain-woo&utm_term=free-plugin-notice-verifydomain-woo" target="_blank">Click here</a>
|
20 |
-
</br></br>Track KEY actions on your WordPress site with Automated Events: <a href="https://www.pixelyoursite.com/global-events?utm_source=free-plugin-notice-globalevents-woo&utm_medium=free-plugin-notice-globalevents-woo&utm_campaign=free-plugin-notice-globalevents-woo&utm_content=free-plugin-notice-globalevents-woo&utm_term=free-plugin-notice-globalevents-woo" target="_blank">Click here</a>
|
21 |
-
</br></br>Add the TikTok Tag with <a href="https://www.pixelyoursite.com/tiktok-tag-pixelyoursite?utm_source=free-plugin-notice-tt-woo&utm_medium=free-plugin-notice-tt-woo&utm_campaign=free-plugin-notice-tt-woo&utm_content=free-plugin-notice-tt-woo&utm_term=free-plugin-notice-tt-woo" target="_blank">PixelYourSite Professional</a>.'
|
22 |
-
],
|
23 |
-
|
24 |
-
|
25 |
-
],
|
26 |
-
'edd' => [
|
27 |
-
|
28 |
-
[
|
29 |
-
'disabled' => false,
|
30 |
-
// 'from' => 0,
|
31 |
-
// 'to' => 1,
|
32 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:
|
33 |
-
</br></br>How to find what Easy Digital Downloads products your Meta campaigns sold: <a href="https://www.youtube.com/watch?v=-27E2bBEJGw" target="_blank">Watch Video</a>
|
34 |
-
</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem?utm_source=free-plugin-notice-aem-link-edd&utm_medium=free-plugin-notice-aem-link-edd&utm_campaign=free-plugin-notice-aem-link-edd&utm_content=free-plugin-notice-aem-link-edd&utm_term=free-plugin-notice-aem-link-edd" target="_blank">Click here</a>
|
35 |
-
</br></br>How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook?utm_source=free-plugin-notice-verifydomain-edd&utm_medium=free-plugin-notice-verifydomain-edd&utm_campaign=free-plugin-notice-verifydomain-edd&utm_content=free-plugin-notice-verifydomain-edd&utm_term=free-plugin-notice-verifydomain-edd" target="_blank">Click here</a>
|
36 |
-
</br></br>Track KEY actions on your WordPress site with Automated Events: <a href="https://www.pixelyoursite.com/global-events?utm_source=free-plugin-notice-globalevents-edd&utm_medium=free-plugin-notice-globalevents-edd&utm_campaign=free-plugin-notice-globalevents-edd&utm_content=free-plugin-notice-globalevents-edd&utm_term=free-plugin-notice-globalevents-edd" target="_blank">Click here</a>
|
37 |
-
</br></br>Add the TikTok Tag with <a href="https://www.pixelyoursite.com/tiktok-tag-pixelyoursite?utm_source=free-plugin-notice-tt-edd&utm_medium=free-plugin-notice-tt-edd&utm_campaign=free-plugin-notice-tt-edd&utm_content=free-plugin-notice-tt-edd&utm_term=free-plugin-notice-tt-edd" target="_blank">PixelYourSite Professional</a>.'
|
38 |
-
|
39 |
-
],
|
40 |
-
|
41 |
-
],
|
42 |
-
'no_woo_no_edd' => [
|
43 |
-
|
44 |
-
[
|
45 |
-
'disabled' => false,
|
46 |
-
// 'from' => 0,
|
47 |
-
// 'to' => 1,
|
48 |
-
'content' => '</br>PIXELYOURSITE KEY INFO:
|
49 |
-
</br></br>Learn about Facebook Aggregated Event Measurement: <a href="https://www.pixelyoursite.com/aem?utm_source=free-plugin-notice-aem-link-nowoo&utm_medium=free-plugin-notice-aem-link-nowoo&utm_campaign=free-plugin-notice-aem-link-nowoo&utm_content=free-plugin-notice-aem-link-nowoo&utm_term=free-plugin-notice-aem-link-nowoo" target="_blank">Click here</a>
|
50 |
-
</br></br>How to verify your domain on Facebook: <a href="https://www.pixelyoursite.com/verify-domain-facebook?utm_source=free-plugin-notice-verifydomain&utm_medium=free-plugin-notice-verifydomain&utm_campaign=free-plugin-notice-verifydomain&utm_content=free-plugin-notice-verifydomain&utm_term=free-plugin-notice-verifydomain" target="_blank">Click here</a>
|
51 |
-
</br></br>Track KEY actions on your WordPress site with Automated Events: <a href="https://www.pixelyoursite.com/global-events?utm_source=free-plugin-notice-globalevents&utm_medium=free-plugin-notice-globalevents&utm_campaign=free-plugin-notice-globalevents&utm_content=free-plugin-notice-globalevents&utm_term=free-plugin-notice-globalevents" target="_blank">Click here</a>.'
|
52 |
-
],
|
53 |
-
|
54 |
-
],
|
55 |
-
];
|
56 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notices/fixed.php
CHANGED
@@ -9,18 +9,269 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
/*
|
10 |
* Notice structure
|
11 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
'plugins' =>[], // can be "woo","wcf","edd" or empty array
|
13 |
'slug' => '',// unique id
|
14 |
-
'message' => '' // message with html tags
|
15 |
]
|
16 |
* */
|
17 |
|
18 |
function adminGetFixedNotices() {
|
19 |
return [
|
20 |
[
|
21 |
-
'
|
22 |
-
'
|
23 |
-
'
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
];
|
26 |
-
}
|
9 |
/*
|
10 |
* Notice structure
|
11 |
[
|
12 |
+
'order' => '1', // message display order
|
13 |
+
'wait' => 0, // timeout after closing the previous message
|
14 |
+
'type' => 'event chain', // Message type, if included in the message sequence then type MUST be 'event chain'
|
15 |
+
'enabelYoutubeLink' => false, // enables or disables the link to the channel at the bottom of the block
|
16 |
+
'enabelLogo' => false, // enable or disable the logo on the left in the block
|
17 |
+
'enabelDismiss' => false, // enable or disable dismiss button, default enable
|
18 |
+
'color' => 'orange', // color can be 'orange', 'green', 'blue'
|
19 |
+
'multiMessage' => [
|
20 |
+
[
|
21 |
+
'slug' => 'new_message_1_v1', // unique slug for message "new_message_1" - unique title, '_v1' - version message
|
22 |
+
'message' => 'Hello I message 1 V 1',
|
23 |
+
'title' => 'Title V1',
|
24 |
+
'button_text' => 'Watch',
|
25 |
+
'button_url' => 'https://www.youtube.com/watch?v=snUKcsTbvCk'
|
26 |
+
],
|
27 |
+
[
|
28 |
+
'slug' => 'new_message_2_v1',
|
29 |
+
'message' => 'Hello I message 2 V 1',
|
30 |
+
'button_text' => 'Watch',
|
31 |
+
'button_url' => 'https://www.youtube.com/watch?v=snUKcsTbvCk',
|
32 |
+
],
|
33 |
+
[
|
34 |
+
'slug' => 'new_message_3_v1',
|
35 |
+
'title' => 'Title V1',
|
36 |
+
'message' => 'Hello I message 3 V 1',
|
37 |
+
'button_text' => 'Watch',
|
38 |
+
'button_url' => 'https://www.youtube.com/watch?v=snUKcsTbvCk',
|
39 |
+
]
|
40 |
+
]
|
41 |
+
],
|
42 |
+
|
43 |
+
If need fixed message
|
44 |
+
[
|
45 |
+
'type' => 'promo',
|
46 |
+
'enabelDismiss' => false, // enable or disable dismiss button, default enable
|
47 |
'plugins' =>[], // can be "woo","wcf","edd" or empty array
|
48 |
'slug' => '',// unique id
|
49 |
+
'message' => '', // message with html tags
|
50 |
]
|
51 |
* */
|
52 |
|
53 |
function adminGetFixedNotices() {
|
54 |
return [
|
55 |
[
|
56 |
+
'order' => '1',
|
57 |
+
'wait' => 0,
|
58 |
+
'type' => 'event chain',
|
59 |
+
'enabelYoutubeLink' => true,
|
60 |
+
'enabelLogo' => true,
|
61 |
+
'enabelDismiss' => true,
|
62 |
+
'color' => 'orange',
|
63 |
+
'multiMessage' => [
|
64 |
+
[
|
65 |
+
'slug' => 'free_block_1_message_1_v1',
|
66 |
+
'message' => 'Learn how to configure Meta Conversion API with your PixelYourSite plugin.',
|
67 |
+
'title' => 'Meta Conversion API',
|
68 |
+
'button_text' => 'Watch video',
|
69 |
+
'button_url' => 'https://www.youtube.com/watch?v=uXTpgFu2V-E'
|
70 |
+
],
|
71 |
+
[
|
72 |
+
'slug' => 'free_block_1_message_2_v1',
|
73 |
+
'title' => 'Verify your domain on Meta',
|
74 |
+
'message' => 'Learn how you can verify your domain on Meta (Facebook)',
|
75 |
+
'button_text' => 'Watch video',
|
76 |
+
'button_url' => 'https://www.youtube.com/watch?v=lLXZW5eZt4o',
|
77 |
+
],
|
78 |
+
[
|
79 |
+
'slug' => 'free_block_1_message_3_v1',
|
80 |
+
'title' => 'Google Analytics 4 (GA4)',
|
81 |
+
'message' => 'How to install GA4 on WordPress and WooCommerce and how to test your tag',
|
82 |
+
'button_text' => 'Watch video',
|
83 |
+
'button_url' => 'https://www.youtube.com/watch?v=fwegcsO-yrc',
|
84 |
+
]
|
85 |
+
],
|
86 |
+
'optoutEnabel' => true,
|
87 |
+
'optoutMessage' => "This is message 1 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
88 |
+
'optoutButtonText' => "Don't show me more tips"
|
89 |
+
],
|
90 |
+
[
|
91 |
+
'order' => '2',
|
92 |
+
'wait' => 12,
|
93 |
+
'type' => 'event chain',
|
94 |
+
'enabelYoutubeLink' => true,
|
95 |
+
'enabelLogo' => true,
|
96 |
+
'color' => 'green',
|
97 |
+
'multiMessage' => [
|
98 |
+
[
|
99 |
+
'slug' => 'free_block_2_message_1_v1',
|
100 |
+
'message' => 'Learn how to create Custom Conversions on Meta using your pixel events. Use them to optimize your ads and track your ads results.',
|
101 |
+
'title' => 'Meta Custom Conversions using Events',
|
102 |
+
'button_text' => 'Watch video',
|
103 |
+
'button_url' => 'https://www.youtube.com/watch?v=w97FATUy7ok'
|
104 |
+
],
|
105 |
+
[
|
106 |
+
'slug' => 'free_block_2_message_2_v1',
|
107 |
+
'message' => 'Build Meta Custom Audiences with events and parameters. Retarget key segments of your audience, or find new potential customers with Lookalikes.',
|
108 |
+
'title' => 'Meta Custom Audiences using Events',
|
109 |
+
'button_text' => 'Watch video',
|
110 |
+
'button_url' => 'https://www.youtube.com/watch?v=EvzGMAvBnbs',
|
111 |
+
],
|
112 |
+
],
|
113 |
+
'optoutEnabel' => true,
|
114 |
+
'optoutMessage' => "This is message 2 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
115 |
+
'optoutButtonText' => "Don't show me more tips"
|
116 |
+
],
|
117 |
+
[
|
118 |
+
'order' => '3',
|
119 |
+
'wait' => 24,
|
120 |
+
'type' => 'event chain',
|
121 |
+
'enabelYoutubeLink' => true,
|
122 |
+
'enabelLogo' => true,
|
123 |
+
'color' => 'blue',
|
124 |
+
'multiMessage' => [
|
125 |
+
[
|
126 |
+
'slug' => 'free_block_3_message_1_v1',
|
127 |
+
'message' => 'Improve META (Facebook) Event Match Quality (EMQ) score with form automatic data detection.',
|
128 |
+
'title' => 'Improve your Meta EMQ score',
|
129 |
+
'button_text' => 'Watch video',
|
130 |
+
'button_url' => 'https://www.youtube.com/watch?v=snUKcsTbvCk',
|
131 |
+
],
|
132 |
+
|
133 |
+
],
|
134 |
+
'optoutEnabel' => true,
|
135 |
+
'optoutMessage' => "This is message 3 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
136 |
+
'optoutButtonText' => "Don't show me more tips"
|
137 |
+
|
138 |
+
],
|
139 |
+
[
|
140 |
+
'order' => '4',
|
141 |
+
'wait' => 24,
|
142 |
+
'type' => 'event chain',
|
143 |
+
'enabelYoutubeLink' => true,
|
144 |
+
'enabelLogo' => true,
|
145 |
+
'multiMessage' => [
|
146 |
+
[
|
147 |
+
'slug' => 'free_block_4_message_1_v1',
|
148 |
+
'title' => 'What WooCommerce products your ads sold',
|
149 |
+
'message' => 'Meta (Facebook) doesn"t show you what products your ads sold, but there is an easy way to find out.',
|
150 |
+
'button_text' => 'Watch this video',
|
151 |
+
'button_url' => 'https://www.youtube.com/watch?v=b-eYdx9QK0Q',
|
152 |
+
],
|
153 |
+
],
|
154 |
+
'optoutEnabel' => true,
|
155 |
+
'optoutMessage' => "This is message 4 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
156 |
+
'optoutButtonText' => "Don't show me more tips"
|
157 |
+
|
158 |
+
],
|
159 |
+
|
160 |
+
|
161 |
+
[
|
162 |
+
'order' => '5',
|
163 |
+
'wait' => 12,
|
164 |
+
'type' => 'event chain',
|
165 |
+
'enabelYoutubeLink' => true,
|
166 |
+
'enabelLogo' => true,
|
167 |
+
'multiMessage' => [
|
168 |
+
[
|
169 |
+
'slug' => 'free_block_5_message_1_v1',
|
170 |
+
'title' => 'WooCommerce First-Party Reports',
|
171 |
+
'message' => 'Discover what generates your WooCommerce orders with PixelYourSite Professional first-party reports. You can track Meta, Google, TikTok or any other campaigns with UTMs.',
|
172 |
+
'button_text' => 'Watch this video',
|
173 |
+
'button_url' => 'https://www.youtube.com/watch?v=4VpVf9llfkU',
|
174 |
+
],
|
175 |
+
],
|
176 |
+
'optoutEnabel' => true,
|
177 |
+
'optoutMessage' => "This is message 5 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
178 |
+
'optoutButtonText' => "Don't show me more tips"
|
179 |
+
|
180 |
+
],
|
181 |
+
|
182 |
+
|
183 |
+
[
|
184 |
+
'order' => '6',
|
185 |
+
'wait' => 24,
|
186 |
+
'type' => 'event chain',
|
187 |
+
'enabelYoutubeLink' => true,
|
188 |
+
'enabelLogo' => true,
|
189 |
+
'multiMessage' => [
|
190 |
+
[
|
191 |
+
'slug' => 'free_block_6_message_1_v1',
|
192 |
+
'title' => 'Install the TikTok Tag',
|
193 |
+
'message' => 'Learn how you can install the TikTok Tag with PixelYourSite Professional. WooCommerce and Easy Digital Downloads support with e-commerce events tracking.',
|
194 |
+
'button_text' => 'Watch video',
|
195 |
+
'button_url' => 'https://www.youtube.com/watch?v=zkb67djRnd0',
|
196 |
+
],
|
197 |
+
[
|
198 |
+
'slug' => 'free_block_6_message_2_v1',
|
199 |
+
'title' => 'Test your TikTok Tag',
|
200 |
+
'message' => 'Learn how you can test your TikTok tag.',
|
201 |
+
'button_text' => 'Watch video',
|
202 |
+
'button_url' => 'https://www.youtube.com/watch?v=WRFRsjXuyMY',
|
203 |
+
],
|
204 |
+
],
|
205 |
+
'optoutEnabel' => true,
|
206 |
+
'optoutMessage' => "This is message 6 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
207 |
+
'optoutButtonText' => "Don't show me more tips"
|
208 |
+
|
209 |
+
],
|
210 |
+
|
211 |
+
|
212 |
+
|
213 |
+
[
|
214 |
+
'order' => '7',
|
215 |
+
'wait' => 24,
|
216 |
+
'type' => 'event chain',
|
217 |
+
'enabelYoutubeLink' => true,
|
218 |
+
'enabelLogo' => true,
|
219 |
+
'multiMessage' => [
|
220 |
+
[
|
221 |
+
'slug' => 'free_block_7_message_1_v1',
|
222 |
+
'title' => 'Multiple Meta tags with CAPI support',
|
223 |
+
'message' => 'Learn how you can add multiple Meta (Facebook) tags with Conversion API support.',
|
224 |
+
'button_text' => 'Watch video',
|
225 |
+
'button_url' => 'https://www.youtube.com/watch?v=HM98mGZshvc',
|
226 |
+
],
|
227 |
+
[
|
228 |
+
'slug' => 'free_block_7_message_2_v1',
|
229 |
+
'title' => 'Multiple GA4 tags',
|
230 |
+
'message' => 'Learn how you can implement multiple Google Analytics 4 (GA4) tags on your site.',
|
231 |
+
'button_text' => 'Watch video',
|
232 |
+
'button_url' => 'https://www.youtube.com/watch?v=JUuss5sewxg',
|
233 |
+
],
|
234 |
+
],
|
235 |
+
'optoutEnabel' => true,
|
236 |
+
'optoutMessage' => "This is message 7 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
237 |
+
'optoutButtonText' => "Don't show me more tips"
|
238 |
+
|
239 |
+
],
|
240 |
+
|
241 |
+
|
242 |
+
[
|
243 |
+
'order' => '8',
|
244 |
+
'wait' => 24,
|
245 |
+
'type' => 'event chain',
|
246 |
+
'enabelYoutubeLink' => true,
|
247 |
+
'enabelLogo' => true,
|
248 |
+
'multiMessage' => [
|
249 |
+
[
|
250 |
+
'slug' => 'free_block_8_message_1_v1',
|
251 |
+
'title' => 'Don"t make this mistake when
|
252 |
+
using a consent plugin!',
|
253 |
+
'message' => 'Most sites have a consent plugin as required by GDPR, CCPA, or other regulations. But there is a common mistake that can ruin your tracking. Find out what it is and how to fix it.',
|
254 |
+
'button_text' => 'Watch this video',
|
255 |
+
'button_url' => 'https://www.youtube.com/watch?v=eo-dpuAqZNg',
|
256 |
+
],
|
257 |
+
],
|
258 |
+
'optoutEnabel' => true,
|
259 |
+
'optoutMessage' => "This is message 8 of a series of 8 notifications containing tips and tricks about how to use our plugin.",
|
260 |
+
'optoutButtonText' => "Don't show me more tips"
|
261 |
+
],
|
262 |
+
|
263 |
+
|
264 |
+
|
265 |
+
/*
|
266 |
+
[
|
267 |
+
'type' => 'promo',
|
268 |
+
'plugins' => [],
|
269 |
+
'slug' => 'wcf_and_woo_promo_v1',
|
270 |
+
'enabelDismiss' => true,
|
271 |
+
'message' => 'HOT: Improve CartFlows tracking with PixelYourSite Professional: <a target="_blank" href="https://www.youtube.com/watch?v=-rA3rxq812g">CLICK TO LEARN MORE</a>'
|
272 |
+
]
|
273 |
+
|
274 |
+
*/
|
275 |
+
|
276 |
];
|
277 |
+
}
|
pixelyoursite.php
CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
-
define( 'PYS_FREE_VERSION', '9.2.
|
8 |
define( 'PYS_FREE_PINTEREST_MIN_VERSION', '3.2.5' );
|
9 |
define( 'PYS_FREE_BING_MIN_VERSION', '2.2.2' );
|
10 |
define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
@@ -41,7 +41,6 @@ require_once PYS_FREE_PATH.'/includes/functions-update-plugin.php';
|
|
41 |
require_once PYS_FREE_PATH.'/includes/functions-gdpr.php';
|
42 |
require_once PYS_FREE_PATH.'/includes/functions-migrate.php';
|
43 |
require_once PYS_FREE_PATH.'/includes/functions-optin.php';
|
44 |
-
require_once PYS_FREE_PATH.'/includes/functions-promo-notices.php';
|
45 |
require_once PYS_FREE_PATH.'/includes/class-fixed-notices.php';
|
46 |
require_once PYS_FREE_PATH.'/includes/class-pixel.php';
|
47 |
require_once PYS_FREE_PATH.'/includes/class-settings.php';
|
4 |
exit; // Exit if accessed directly.
|
5 |
}
|
6 |
|
7 |
+
define( 'PYS_FREE_VERSION', '9.2.1' );
|
8 |
define( 'PYS_FREE_PINTEREST_MIN_VERSION', '3.2.5' );
|
9 |
define( 'PYS_FREE_BING_MIN_VERSION', '2.2.2' );
|
10 |
define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
41 |
require_once PYS_FREE_PATH.'/includes/functions-gdpr.php';
|
42 |
require_once PYS_FREE_PATH.'/includes/functions-migrate.php';
|
43 |
require_once PYS_FREE_PATH.'/includes/functions-optin.php';
|
|
|
44 |
require_once PYS_FREE_PATH.'/includes/class-fixed-notices.php';
|
45 |
require_once PYS_FREE_PATH.'/includes/class-pixel.php';
|
46 |
require_once PYS_FREE_PATH.'/includes/class-settings.php';
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: Meta Pixel, Facebook Pixel, Facebook Conversion API, CAPI, Facebook Pixel
|
|
4 |
Requires at least: 3.0.1
|
5 |
Requires PHP: 5.4
|
6 |
Tested up to: 6.0
|
7 |
-
Stable tag: 9.2.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -468,6 +468,19 @@ NO, absolutely not! We don't track any type of data about your website. We simpl
|
|
468 |
== Changelog ==
|
469 |
|
470 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
471 |
= PixelYourSite 9.2.0 =
|
472 |
|
473 |
* New: track and store the traffic source, landing page, UTMs for WooCommerce orders. This helps you identify what generates your sales. [Watch this video for more info](https://www.youtube.com/watch?v=4VpVf9llfkU)
|
4 |
Requires at least: 3.0.1
|
5 |
Requires PHP: 5.4
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 9.2.1
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
468 |
== Changelog ==
|
469 |
|
470 |
|
471 |
+
= PixelYourSite 9.2.1 =
|
472 |
+
|
473 |
+
* Improvements on how the plugins tracks and sends fbp and fbc for Meta CAPI events. In time, this will lead to an improved EMQ score and overall better ads attribution.
|
474 |
+
|
475 |
+
* New option to remove the post_category parameter, as required by some users.
|
476 |
+
|
477 |
+
* UI changes to reflect new features in the PRO version of the plugin: Advanced user-data detection for forms.
|
478 |
+
|
479 |
+
* Updates to our notifications. We now show a number of notifications with tips about the plugin and tracking in general. These notifications can be close individually. Each notification has a button that will turn OFF all notifications at once.
|
480 |
+
|
481 |
+
* WooCommerce 7.0 compatibility.
|
482 |
+
|
483 |
+
|
484 |
= PixelYourSite 9.2.0 =
|
485 |
|
486 |
* New: track and store the traffic source, landing page, UTMs for WooCommerce orders. This helps you identify what generates your sales. [Watch this video for more info](https://www.youtube.com/watch?v=4VpVf9llfkU)
|