### Localization and Locale Data Setup Source: https://www.insightchoices.com/blog/author/robert/ JavaScript code for setting up localization strings and defining text direction for WordPress internationalization. ```javascript var localize = { "ajaxurl": "https:\/\/www.insightchoices.com\/wp-admin\/admin-ajax.php", "nonce": "9bac196109", "i18n": { "added": "Added ", "compare": "Compare", "loading": "Loading..." }, "eael_translate_text": { "required_text": "is a required field", "invalid_text": "Invalid", "billing_text": "Billing", "shipping_text": "Shipping", "fg_mfp_counter_text": "of" }, "page_permalink": "https:\/\/www.insightchoices.com\/blog\/culture-trauma-healing-immigrant-mental-health\/", "cart_redirectition": "", "cart_page_url": "", "el_breakpoints": { "mobile": {"label": "Mobile Portrait", "value": 767, "default_value": 767, "direction": "max", "is_enabled": true}, "mobile_extra": {"label": "Mobile Landscape", "value": 880, "default_value": 880, "direction": "max", "is_enabled": false}, "tablet": {"label": "Tablet Portrait", "value": 1024, "default_value": 1024, "direction": "max", "is_enabled": true}, "tablet_extra": {"label": "Tablet Landscape", "value": 1200, "default_value": 1200, "direction": "max", "is_enabled": false}, "laptop": {"label": "Laptop", "value": 1366, "default_value": 1366, "direction": "max", "is_enabled": false}, "widescreen": {"label": "Widescreen", "value": 2400, "default_value": 2400, "direction": "min", "is_enabled": false} } }; wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); ``` -------------------------------- ### Google Analytics Tracker Setup Source: https://www.insightchoices.com/blog/category/depression/ Initializes a Google Analytics tracker object (`__gaTracker`) with methods for sending events and page views. It maps custom event parameters to Google Analytics' expected format and handles different hit types. ```javascript var noopfn = function() { return null; }; var newtracker = function() { return new Tracker(); }; var Tracker = function() { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function() { var args = Array.prototype.slice.call(arguments); args.unshift('send'); __gaTracker.apply(null, args); }; var __gaTracker = function() { var len = arguments.length; if (len === 0) { return; } var f = arguments[len - 1]; if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { if ('send' === arguments[0]) { var hitConverted, hitObject = false, action; if ('event' === arguments[1]) { if ('undefined' !== typeof arguments[3]) { hitObject = { 'eventAction': arguments[3], 'eventCategory': arguments[2], 'eventLabel': arguments[4], 'value': arguments[5] ? arguments[5] : 1, }; } } if ('pageview' === arguments[1]) { if ('undefined' !== typeof arguments[2]) { hitObject = { 'eventAction': 'page_view', 'page_path': arguments[2], }; } } if (typeof arguments[2] === 'object') { hitObject = arguments[2]; } if (typeof arguments[5] === 'object') { Object.assign(hitObject, arguments[5]); } if ('undefined' !== typeof arguments[1].hitType) { hitObject = arguments[1]; if ('pageview' === hitObject.hitType) { hitObject.eventAction = 'page_view'; } } if (hitObject) { action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker('event', action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { 'eventCategory': 'event_category', 'eventAction': 'event_action', 'eventLabel': 'event_label', 'eventValue': 'event_value', 'nonInteraction': 'non_interaction', 'timingCategory': 'event_category', 'timingVar': 'name', 'timingValue': 'value', 'timingLabel': 'event_label', 'page': 'page_path', 'location': 'page_location', 'title': 'page_title', 'referrer': 'page_referrer', }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) {} }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function() { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window['__gaTracker'] = __gaTracker; })(); } else { console.log(""); (function() { function __gtagTracker() { return null; } window['__gtagTracker'] = __gtagTracker; window['gtag'] = __gtagTracker; })(); } ``` -------------------------------- ### Google Analytics v4 Tracking Setup Source: https://www.insightchoices.com/blog/author/robert/ Initializes Google Analytics v4 tracking using gtag.js. It sets up the dataLayer, defines a dual tracker function for compatibility, and configures the GA4 property with specific settings like forceSSL and link attribution. It also handles page view and event tracking, mapping older GA parameters to gtag.js format. ```javascript var index = 0; index < disableStrs.length; index++) { document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; window[disableStrs[index]] = true; } } if ('undefined' === typeof gaOptout) { function gaOptout() { __gtagTrackerOptout(); } } window.dataLayer = window.dataLayer || []; window.MonsterInsightsDualTracker = { helpers: {}, trackers: {}, }; if (mi_track_user) { function __gtagDataLayer() { dataLayer.push(arguments); } function __gtagTracker(type, name, parameters) { if (!parameters) { parameters = {}; } if (parameters.send_to) { __gtagDataLayer.apply(null, arguments); return; } if (type === 'event') { parameters.send_to = monsterinsights_frontend.v4_id; var hookName = name; if (typeof parameters['event_category'] !== 'undefined') { hookName = parameters['event_category'] + ':' + name; } if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') { MonsterInsightsDualTracker.trackers[hookName](parameters); } else { __gtagDataLayer('event', name, parameters); } } else { __gtagDataLayer.apply(null, arguments); } } __gtagTracker('js', new Date()); __gtagTracker('set', { 'developer_id.dZGIzZG': true, }); if ( MonsterInsightsLocations.page_location ) { __gtagTracker('set', MonsterInsightsLocations); } __gtagTracker('config', 'G-0MEETBB3MN', {"forceSSL":"true","link_attribution":"true"} ); window.gtag = __gtagTracker; (function () { /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ /* ga and __gaTracker compatibility shim. */ var noopfn = function () { return null; }; var newtracker = function () { return new Tracker(); }; var Tracker = function () { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function () { var args = Array.prototype.slice.call(arguments); args.unshift('send'); __gaTracker.apply(null, args); }; var __gaTracker = function () { var len = arguments.length; if (len === 0) { return; } var f = arguments[len - 1]; if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { if ('send' === arguments[0]) { var hitConverted, hitObject = false, action; if ('event' === arguments[1]) { if ('undefined' !== typeof arguments[3]) { hitObject = { 'eventAction': arguments[3], 'eventCategory': arguments[2], 'eventLabel': arguments[4], 'value': arguments[5] ? arguments[5] : 1, } } } if ('pageview' === arguments[1]) { if ('undefined' !== typeof arguments[2]) { hitObject = { 'eventAction': 'page_view', 'page_path': arguments[2], } } } if (typeof arguments[2] === 'object') { hitObject = arguments[2]; } if (typeof arguments[5] === 'object') { Object.assign(hitObject, arguments[5]); } if ('undefined' !== typeof arguments[1].hitType) { hitObject = arguments[1]; if ('pageview' === hitObject.hitType) { hitObject.eventAction = 'page_view'; } } if (hitObject) { action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker('event', action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { 'eventCategory': 'event_category', 'eventAction': 'event_action', 'eventLabel': 'event_label', 'eventValue': 'event_value', 'nonInteraction': 'non_interaction', 'timingCategory': 'event_category', 'timingVar': 'name', 'timingValue': 'value', 'timingLabel': 'event_label', 'page': 'page_path', 'location': 'page_location', 'title': 'page_title', 'referrer' : 'page_referrer', }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) { } }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function () { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window['__gaTracker'] = __gaTracker; })(); } else { console.log(""); (function () { function __gtagTracker() { return null; } window['__gtagTracker'] = __gtagTracker; window['gtag'] = __gtagTracker; })(); } ``` -------------------------------- ### Responsive Padding and Spacing Utilities Source: https://www.insightchoices.com/blog/category/anger/ Defines CSS classes for applying responsive padding and margin adjustments based on predefined variables. Includes utilities for various screen sizes (xs, sm, md, lg) and specific padding directions (block, inline, start, end). ```css .nfd-p-card-square-lg:not([style*=padding]){padding:calc(var(--wndb--p--square-lg)*var(--wndb--padding-factor))!important}@media screen and (min-width:782px){.nfd-p-card-square-lg:not([style*=padding]){padding:calc(var(--wndb--p--square-lg)*var(--wndb--padding-factor))!important}}.nfd-p-xs:not([style*=padding]){padding:calc(var(--wndb--p--xs)*var(--wndb--padding-factor))!important}.nfd-py-xs:not([style*=padding]){padding-block:calc(var(--wndb--p--xs)*var(--wndb--padding-factor))!important}.nfd-pt-xs:not([style*=padding]){padding-block-start:calc(var(--wndb--p--xs)*var(--wndb--padding-factor))!important}.nfd-px-xs:not([style*=padding]){padding-inline:calc(var(--wndb--p--xs)*var(--wndb--padding-factor))!important}.nfd-p-sm:not([style*=padding]){padding:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-px-sm:not([style*=padding]){padding-inline:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-py-sm:not([style*=padding]){padding-block:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-pt-sm:not([style*=padding]){padding-block-start:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-pb-sm:not([style*=padding]){padding-block-end:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-pl-sm:not([style*=padding]){padding-left:calc(var(--wndb--p--sm)*var(--wndb--padding-factor))!important}.nfd-p-md:not([style*=padding]){padding:calc(var(--wndb--p--md)*var(--wndb--padding-factor))!important}.nfd-px-md:not([style*=padding]){padding-inline:calc(var(--wndb--p--md)*var(--wndb--padding-factor))!important}.nfd-pb-md:not([style*=padding]),.nfd-pt-md:not([style*=padding]),.nfd-py-md:not([style*=padding]){padding-block:calc(var(--wndb--p--md)*var(--wndb--padding-factor))!important}.nfd-p-lg:not([style*=padding]){padding:calc(var(--wndb--p--lg)*var(--wndb--padding-factor)) calc(var(--wndb--p--md)*var(--wndb--padding-factor))!important}.nfd-py-lg:not([style*=padding]){padding-block:calc(var(--wndb--p--lg)*var(--wndb--padding-factor))!important}.nfd-pt-lg:not([style*=padding]){padding-block-start:calc(var(--wndb--p--lg)*var(--wndb--padding-factor))!important}.nfd-pb-lg:not([style*=padding]){padding-block-end:calc(var(--wndb--p--lg)*var(--wndb--padding-factor))!important}.nfd-pl-offset-md:not([style*=padding]){margin-left:calc(var(--wndb--p--md)*var(--wndb--padding-factor)*-1)!important;padding-left:calc(var(--wndb--p--md)*var(--wndb--padding-factor) - 3px)!important} ``` -------------------------------- ### LP_CONFIG Settings Source: https://www.insightchoices.com/blog/category/depression/ JavaScript configuration object for LearnPress or a similar learning platform plugin. It defines settings for desktop and mobile activation, hover behavior, hover delay, instant click, and mobile behavior based on viewport. ```javascript window.LP_CONFIG = { "activeOnDesktop": true, "behavior": "mouseHover", "hoverDelay": 60, "instantClick": false, "activeOnMobile": true, "mobileBehavior": "viewport", "ignoreKeywords": "#?", "isMobile": false }; ``` -------------------------------- ### NFD Grid Layout Utilities Source: https://www.insightchoices.com/blog/category/acupuncture/ Defines CSS classes for creating specific grid column layouts. The 'nfd-grid-cols-1-2-1' class is an example, setting up a three-column layout with a 1:2:1 aspect ratio for the columns. ```css .nfd-grid-cols-1-2-1{grid-template-columns:1fr 2fr 1fr!important} ``` -------------------------------- ### LearnPress (LP) JavaScript Configuration Source: https://www.insightchoices.com/blog/category/acupuncture/ JavaScript configuration object for LearnPress, a WordPress LMS plugin. It defines settings for desktop and mobile activation, behavior (mouse hover or viewport), hover delay, instant click, and ignore keywords for links. ```javascript window.LP_CONFIG = { "activeOnDesktop": true, "behavior": "mouseHover", "hoverDelay": 60, "instantClick": false, "activeOnMobile": true, "mobileBehavior": "viewport", "ignoreKeywords": "#,?", "isMobile": false }; ``` -------------------------------- ### JavaScript: WordPress Localization Setup Source: https://www.insightchoices.com/blog/category/borderline-personality-disorder/ JavaScript code snippet that sets the locale data for WordPress internationalization. This ensures that text direction (LTR/RTL) is correctly applied based on the site's language settings. ```javascript wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); ``` -------------------------------- ### Google Tag Manager Integration (JavaScript) Source: https://www.insightchoices.com/blog/author/nikravesh/ Standard JavaScript snippet for integrating Google Tag Manager (GTM). It asynchronously loads the GTM script, initializing the dataLayer and ensuring proper tracking setup on the page. ```javascript (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-K8M7VT2P'); ``` -------------------------------- ### Learning Platform Configuration (LP_CONFIG) Source: https://www.insightchoices.com/blog/category/borderline-personality-disorder/ Defines configuration settings for a Learning Platform (LP) feature. It specifies behavior on desktop and mobile, hover delays, instant click settings, and ignore keywords for interactions. The 'isMobile' flag indicates the detected device type. ```javascript window.LP_CONFIG = { "activeOnDesktop": true, "behavior": "mouseHover", "hoverDelay": 60, "instantClick": false, "activeOnMobile": true, "mobileBehavior": "viewport", "ignoreKeywords": "#,?", "isMobile": false }; ``` -------------------------------- ### Zoom-In Animations Source: https://www.insightchoices.com/ Provides CSS classes for zoom-in effects, including a standard zoom-in and a shorter version, both starting with reduced opacity and scale, and animating to full visibility and scale when the element is activated. ```css .nfd-wb-zoom-in { --nfd-wb-anim-transition-duration:1200ms; --nfd-wb-anim-transition:opacity var(--nfd-wb-anim-transition-duration) var(--nfd-wb-anim-transition-easing-function) var(--nfd-wb-anim-transition-delay),transform var(--nfd-wb-anim-transition-duration) var(--nfd-wb-anim-transition-easing-function) var(--nfd-wb-anim-transition-delay);transform:scale3d(.4,.4,.4)} .nfd-wb-zoom-in, .nfd-wb-zoom-in-short { opacity:0;transition:var(--nfd-wb-anim-transition)} .nfd-wb-zoom-in-short { --nfd-wb-anim-transition-duration:600ms; --nfd-wb-anim-transition:opacity var(--nfd-wb-anim-transition-duration) var(--nfd-wb-anim-transition-easing-function) var(--nfd-wb-anim-transition-delay),transform var(--nfd-wb-anim-transition-duration) var(--nfd-wb-anim-transition-easing-function) var(--nfd-wb-anim-transition-delay);transform:scale3d(.92,.92,.92)} .nfd-wb-animated-in:not([data-replay-animation])[class*=nfd-wb-zoom-] { opacity:1!important;transform:scaleX(1)!important} ``` -------------------------------- ### LP_CONFIG Settings Source: https://www.insightchoices.com/blog/author/brendan-greenaway/ Configuration object for LP (likely LearnPress or similar) features, defining behavior for desktop and mobile, hover delay, instant click, and mobile ignore keywords. ```javascript window.LP_CONFIG = { "activeOnDesktop":true, "behavior":"mouseHover", "hoverDelay":60, "instantClick":false, "activeOnMobile":true, "mobileBehavior":"viewport", "ignoreKeywords":"#,?", "isMobile":false }; ``` -------------------------------- ### Google Tag Manager Initialization Source: https://www.insightchoices.com/blog/author/robert/ Initializes Google Tag Manager by dynamically creating a script tag and appending it to the document head. This is used for website analytics and tracking. ```javascript (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-K8M7VT2P'); ``` -------------------------------- ### LP_CONFIG Settings Source: https://www.insightchoices.com/blog/category/bipolar-disorder/ JavaScript configuration object for LP (likely LearnPress or similar plugin), defining active states for desktop and mobile, hover behavior, delay, instant click settings, and mobile-specific behavior. ```javascript window.LP_CONFIG = {"activeOnDesktop":true,"behavior":"mouseHover","hoverDelay":60,"instantClick":false,"activeOnMobile":true,"mobileBehavior":"viewport","ignoreKeywords":"#,?","isMobile":false} ``` -------------------------------- ### LearnPress JavaScript Configuration Source: https://www.insightchoices.com/blog/category/anger/ Configuration object for the LearnPress WordPress plugin. It defines settings for active states on desktop and mobile, hover behavior, hover delay, instant click functionality, and keyword ignoring for interactions. ```javascript window.LP_CONFIG = { "activeOnDesktop": true, "behavior": "mouseHover", "hoverDelay": 60, "instantClick": false, "activeOnMobile": true, "mobileBehavior": "viewport", "ignoreKeywords": "#, ?", "isMobile": false }; ``` -------------------------------- ### Responsive Layout and Header/Footer Styling (CSS) Source: https://www.insightchoices.com/blog/author/robert/ This snippet includes CSS rules for managing responsive breakpoints, adjusting element widths, and styling header and footer components. It also handles menu item alignment and search icon display. ```css width:544px){.ast-header-break-point .ast-footer-copyright.ast-builder-layout-element{display:flex;}}.footer-widget-area.widget-area.site-footer-focus-item{width:auto;}.ast-footer-row-inline .footer-widget-area.widget-area.site-footer-focus-item{width:100%;}.elementor-posts-container [CLASS*="ast-width-"]{width:100%;}.elementor-template-full-width .ast-container{display:block;}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{top:0 !important;}@media (max-width:544px){.elementor-element .elementor-wc-products .woocommerce[class*="columns-"] ul.products li.product{width:auto;margin:0;}.elementor-element .woocommerce .woocommerce-result-count{float:none;}}.ast-header-break-point .main-header-bar{border-bottom-width:1px;}@media (min-width:922px){.main-header-bar{border-bottom-width:1px;}}.main-header-menu .menu-item, #astra-footer-menu .menu-item, .main-header-bar .ast-masthead-custom-menu-items{-js-display:flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}.main-header-menu > .menu-item > .menu-link, #astra-footer-menu > .menu-item > .menu-link{height:100%;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-js-display:flex;display:flex;}.ast-header-break-point .main-navigation ul .menu-item .menu-link .icon-arrow:first-of-type svg{top:.2em;margin-top:0px;margin-left:0px;width:.65em;transform:translate(0, -2px) rotateZ(270deg);}.ast-mobile-popup-content .ast-submenu-expanded > .ast-menu-toggle{transform:rotateX(180deg);overflow-y:auto;}@media (min-width:922px){.ast-builder-menu .main-navigation > ul > li:last-child a{margin-right:0;}}.ast-separate-container .ast-article-inner{background-color:transparent;background-image:none;}.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);}@media (max-width:921px){.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);}}@media (max-width:544px){.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);}}.ast-separate-container .ast-article-single:not(.ast-related-post), .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container .ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description, .ast-separate-container .comments-area .comment-respond, .ast-separate-container .comments-area .ast-comment-list li, .ast-separate-container .comments-area .comments-title{background-color:var(--ast-global-color-5);}@media (max-width:921px){.ast-separate-container .ast-article-single:not(.ast-related-post), .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container .ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description{background-color:var(--ast-global-color-5);}}@media (max-width:544px){.ast-separate-container .ast-article-single:not(.ast-related-post), .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container .ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description{background-color:var(--ast-global-color-5);}}.ast-separate-container.ast-two-container #secondary .widget{background-color:var(--ast-global-color-5);}@media (max-width:921px){.ast-separate-container.ast-two-container #secondary .widget{background-color:var(--ast-global-color-5);}}@media (max-width:544px){.ast-separate-container.ast-two-container #secondary .widget{background-color:var(--ast-global-color-5);}}.ast-mobile-header-content > *,.ast-desktop-header-content > * {padding: 10px 0;height: auto;}.ast-mobile-header-content > *:first-child,.ast-desktop-header-content > *:first-child {padding-top: 10px;}.ast-mobile-header-content > .ast-builder-menu,.ast-desktop-header-content > .ast-builder-menu {padding-top: 0;}.ast-mobile-header-content > *:last-child,.ast-desktop-header-content > *:last-child {padding-bottom: 0;}.ast-mobile-header-content .ast-search-menu-icon.ast-inline-search label,.ast-desktop-header-content .ast-search-menu-icon.ast-inline-search label {width: 10 ``` -------------------------------- ### MonsterInsights Frontend Configuration Source: https://www.insightchoices.com/blog/category/acupuncture/ Configuration object for MonsterInsights, enabling JS event tracking, defining download extensions, inbound path tracking, home URL, and hash tracking settings. ```javascript var monsterinsights_frontend = { "js_events_tracking":"true", "download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx", "inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]", "home_url":"https:\/\/www.insightchoices.com", "hash_tracking":"false", "v4_id":"G-0MEETBB3MN" }; ``` -------------------------------- ### Prefetch Configuration Source: https://www.insightchoices.com/blog/category/depression/ Configuration object for prefetching resources. It specifies conditions for prefetching documents, excluding specific paths like WordPress admin or uploads, and avoiding links with 'nofollow' attributes or specific classes. ```json {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/astra\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} ``` -------------------------------- ### List and Query Loop Styling Source: https://www.insightchoices.com/blog/author/robert/ Provides styles for lists with custom gaps and checkmark bullet points, as well as specific styling for query loop blocks, including author avatar adjustments and category display. ```css /* Spacing for list items */ ol.nfd-gap-sm:not(.is-layout-flex) li:not(:last-child), ul.nfd-gap-sm:not(.is-layout-flex) li:not(:last-child) { margin-bottom: .5em !important; } ol.nfd-gap-md:not(.is-layout-flex) li:not(:last-child), ul.nfd-gap-md:not(.is-layout-flex) li:not(:last-child) { margin-bottom: 1em !important; } /* Custom checkmark list style */ ul.nfd-list-check { list-style-type: none !important; padding-inline-start: 1em !important; } ul.nfd-list-check li:before { content: "✓"; display: inline-block; margin-inline-end: 8px; } /* Query loop specific styles */ [class*=nfd-query-loop-] :where(.wp-block-post-author__avatar img) { border-radius: 999px; display: block; } [class*=nfd-query-loop-] :where(.avatar-48) { height: 36px !important; width: 36px !important; } [class*=nfd-query-loop-] :where(.wp-block-post-author__content) { display: flex; flex-direction: column; gap: 4px; justify-content: center; } [class*=nfd-query-loop-] .wp-block-post-author__avatar { margin-right: 12px !important; } /* Specific query loop layout adjustments */ .nfd-query-loop-1 :where(.wp-block-cover) { aspect-ratio: 2/1.1; } .nfd-query-loop-1 :where(.wp-block-post-author__content) { align-items: center !important; flex-direction: row !important; } .nfd-query-loop-1 :where(.wp-block-post-author__byline) { font-size: 1em !important; opacity: .8 !important; } /* Category display in query loops */ [class*=nfd-query-loop-] :where(.wp-block-categories) { display: flex; gap: 8px; list-style: none; padding: 0; } [class*=nfd-query-loop-] :where(.wp-block-categories a) { color: inherit !important; } /* Background style for query loop 2 cover block */ .nfd-query-loop-2 .wp-block-cover__background { /* Specific background styles would go here if defined */ } ``` -------------------------------- ### Google Tag Manager Initialization Source: https://www.insightchoices.com/blog/category/anger/ Standard JavaScript snippet for initializing Google Tag Manager (GTM). It asynchronously loads the GTM script into the page, enabling website analytics and tag management capabilities. ```javascript (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-K8M7VT2P'); ``` -------------------------------- ### Responsive Container and Layout Adjustments Source: https://www.insightchoices.com/blog/author/robert/ Defines maximum widths for containers and adjusts margins based on screen size. Includes rules for aligning content and handling specific block elements like covers and media text. ```css .entry-content .alignwide,.entry-content [class*="__inner-container"] > .alignwide{max-width:1200px;margin-left:0;margin-right:0;}.entry-content .alignfull [class*="__inner-container"] > .alignwide{max-width:80rem;}}@media (min-width:545px){.site-main .entry-content > .alignwide{margin:0 auto;}.wp-block-group.has-background,.entry-content > .wp-block-cover,.entry-content > .wp-block-columns.has-background{padding:4em;margin-top:0;margin-bottom:0;}.entry-content .wp-block-media-text.alignfull .wp-block-media-text__content,.entry-content .wp-block-media-text.has-background .wp-block-media-text__content{padding:0 8%;}} ``` -------------------------------- ### Prefetch Configuration Source: https://www.insightchoices.com/blog/category/adhd/ Configuration object for prefetching resources. It specifies conditions for conservative prefetching, excluding specific paths like WordPress admin, uploads, plugins, themes, and query parameters, while also excluding elements with 'nofollow' or 'no-prefetch' attributes. ```JSON { "prefetch": [ { "source": "document", "where": { "and": [ { "href_matches": "\/*" }, { "not": { "href_matches": [ "\/wp-*.php", "\/wp-admin\/*", "\/wp-content\/uploads\/*", "\/wp-content\/*", "\/wp-content\/plugins\/*", "\/wp-content\/themes\/astra\/*", "\/*\\?(.+)" ] } }, { "not": { "selector_matches": "a[rel~=\"nofollow\"]" } }, { "not": { "selector_matches": ".no-prefetch, .no-prefetch a" } } ] }, "eagerness": "conservative" } ] } ```