Author: admin

  • How to Protect Everest Forms Email Styling from Plugin Updates

    Issue Overview:

    During a security-related plugin update on a staging site, the default Everest Forms email template in the WordPress form system was overwritten, wiping out previously approved visual styling. Though functionality remained intact, cosmetic differences (like a message saying “You can upload up to 1 files”) highlighted the risk of default template reliance found in many contact form plugin setups and form solutions.

    What We Found:

    • Default templates get replaced: The Everest Forms plugin for WordPress overwrites its core form email template during updates.
    • Inline styling was lost: Custom CSS and layout settings were tied to the default template, similar to how other WordPress plugins like WPForms, Fluent Forms, Contact Form 7, and Formidable Forms handle styling options.
    • Live vs. staging mismatch: A minor cosmetic difference appeared post-update but didn’t affect core functionality or email notifications triggered when a user submits a form.

    What We Did:

    • Created a custom email template: Replicated the design of the default email and saved it as a standalone, update-safe version for long-term customization of the contact form styling.
    • Used inline CSS: All styles were embedded directly into the HTML for email compatibility and stability, avoiding the need for heavy add-on configuration found in some premium or pro form builders.
    • Tested thoroughly on staging: Updates to all related Everest Forms plugins were tested for compatibility, similar to testing form plugin integrations or database-driven form entry behavior.
    • Verified design match post-deployment: Ensured the client-approved styling stayed consistent across environments regardless of plugin upgrade or installation differences.

    Final Outcome:
    Thanks to a custom template and inline styling, future plugin updates won’t disrupt the visual integrity of email templates. Integriti Studio’s approach ensures lasting design consistency and saves time on manual fixes after updates, even when multiple plugins, fields, or settings are involved in a WordPress dashboard workflow.

    Struggling with plugin updates breaking your custom styles?

    Integriti Studio builds update-proof solutions that preserve your brand’s look and feel.

    Frequently Asked Questions (How to Protect Everest Forms Email Styling from Plugin Updates)

    Is it safe to update plugins in WordPress?

    Yes, updating plugins in WordPress is generally safe and recommended for security, performance, and compatibility. However, always take a full site backup first, update plugins one by one, and test your website after updates to avoid conflicts or functionality issues.

    How to update a WordPress plugin without losing customization?

    To update a WordPress plugin without losing customization, never edit plugin core files directly. Use child themes, custom plugins, hooks, filters, or CSS overrides instead. Always back up your site, test updates on staging, and review the plugin changelog before updating.

    How to connect contact form to email in WordPress?

    To connect a contact form to email in WordPress, install a form plugin like Contact Form 7, WPForms, or Gravity Forms. Configure the form’s notification settings with a valid email address. For reliable delivery, use an SMTP plugin to prevent emails going to spam.

    How to manually update a WordPress plugin?

    To manually update a WordPress plugin, download the latest plugin ZIP file from a trusted source. Go to Plugins → Add New → Upload Plugin, upload the ZIP, and replace the existing version. Alternatively, update via FTP by replacing the plugin folder. Always back up first.

  • How to Sort WordPress Taxonomy Dropdowns by Date Using ACF

    Issue Background:

    The “Browse by Magazine Issue” dropdown under Book Reviews displayed items alphabetically by title (e.g., “HNR Issue 102”), not by actual publication date. This was affecting the WordPress site structure because the taxonomy term order didn’t respect the custom date field. A legacy fix required a plugin toggle every quarter to manually input dates—leading to conflicts, inconsistent sorting, and issues when using custom taxonomies for content display.

    What We Did:

    • Created a permanent ‘Issue Date’ field:
      Added a custom date field to the mag_edition taxonomy using Advanced Custom Fields (ACF) and ACF taxonomy field configuration, replacing the old plugin workaround. 
    • Updated the admin experience:
      Admins can now add or edit the publication date directly within the taxonomy term editor—no plugin toggles required. The backend now stores the field value properly using an ACF date structure that works smoothly with WordPress custom functionality.
    • Rebuilt the front-end dropdown logic:
      The dropdown now queries taxonomy terms using a dynamic array and sorts them in reverse chronological order using the new field. Instead of alphabetical display, it fetches the correct values via meta query parameters and processes them through custom query loops so WordPress taxonomies like mag_edition sort by actual dates.
    • Populated live dates:
      Historical magazine issues were updated with proper dates, so the dropdown reflects accurate ordering from oldest to newest. This ensures the taxonomy fields and custom date field values remain consistent with the custom post type relationships and prevent outdated default sorting behavior.
    Need help organizing your content better?

    Integriti Studio builds smart, scalable WordPress solutions that make content easy to manage and even easier to navigate.

    Frequently Asked Questions (How to Sort WordPress Taxonomy Dropdowns by Date Using ACF)

    Can ACF taxonomy fields be sorted by date?

    Yes, ACF taxonomy dropdowns can be sorted by date using custom PHP filters. By modifying the get_terms query with arguments like orderby and meta_value, you can control term order based on creation date or custom term meta.

    Does WordPress support taxonomy sorting by default?

    By default, WordPress sorts taxonomy terms alphabetically. Sorting by date or custom fields requires custom code using get_terms, acf/load_field, or acf/fields/taxonomy/query filters.

    How do I sort taxonomy terms by custom date field in ACF?

    You can store a date as term meta using ACF, then hook into acf/fields/taxonomy/query and set meta_key, orderby => meta_value, and order => DESC to sort terms by that date field.

    Will this affect frontend taxonomy display?

    No, this customization only affects the ACF dropdown field in the admin or frontend form. It does not change how taxonomy terms are displayed on the website unless you apply similar sorting to frontend queries.

  • How to Troubleshoot Missing UTM Tracking in GA4 & Google Tag Manager

    The Problem: UTM Parameters Missing in GA4

    A client reached out when they noticed that their UTM-tagged campaign URLs were no longer showing up in their Google Analytics reports. Both old and new UTM links failed to populate traffic source fields like Source, Medium, or Campaign.

    Initial concerns pointed toward possible misconfigurations in their GTM setup or broken integration between GTM and GA4.

    What We Found

    After digging into the tracking setup, here’s what we discovered:

    • GTM was installed—but inactive
      The GTM container was embedded on the site, but had no active tags or triggers configured. In short, GTM wasn’t being used for any analytics functions.
    • GA4 was running independently
      Google Analytics was tracking events, sessions, and conversions—but it wasn’t doing so through GTM.
    • UTM parameters were never routed through GTM
      The client had assumed GTM was handling tracking. In reality, UTM tags are captured natively by GA4 and don’t require GTM at all.

    Need help reviewing your GA4 or GTM setup? Book a free audit call.

    How We Fixed It

    With a clearer picture in place, we walked the client through a few simple but important checks:

    ✅ Confirmed GA4 was tracking UTM data

    We tested UTM-tagged links using Google’s Realtime Reports. The UTM parameters (source, medium, campaign) showed up immediately.

    ✅ Reviewed historical campaign traffic

    Looking back four months, we found limited use of UTM-tagged URLs—confirming it wasn’t a tracking failure but a lack of consistent campaign tagging.

    ✅ Verified new campaigns

    The client shared a fresh UTM URL. We tested it live and confirmed that Session Source, Session Medium, and Campaign Name all showed up correctly in GA4.

    Want to be 100% sure your UTM tracking is working? Let’s test it together.

    What You Should Know

    UTM tracking confusion is common, especially when multiple tools (like GA4, GTM, and CRM systems) are in play. Here’s what matters:

    • UTM tags are read directly by GA4
      You don’t need Google Tag Manager to track campaign parameters like source, medium, or campaign name.
    • Use GA4’s Realtime Report for testing
      It’s the fastest way to confirm whether UTM-tagged links are being tracked properly.
    • Keep GTM clean and purposeful
      If you’re not actively using GTM for event tracking, don’t assume it’s capturing campaign data.
    • Be consistent with UTM usage
      Inconsistent tagging often looks like “missing data” when it’s actually just incomplete link building.

    Need a UTM strategy that works across platforms? Let’s build it →

    Final Outcome

    No broken tools. No bugs. Just a bit of miscommunication. After clarifying how their setup worked, the client was relieved to see their campaign data flowing correctly—and now has a direct report to track UTM-tagged traffic in real time.

    Struggling with Google Analytics or Tag Manager?

    ‍
    Integriti Studio can help you streamline campaign tracking, build custom dashboards, and troubleshoot analytics confusion—whether you’re using Shopify, WordPress, or Webflow.

    ‍

  • How to pre-fill wordpress forms using QR codes & URL parameters

    Issue Background

    ‍
    Imagine this: Your team is out in the field distributing flyers with QR codes. Each QR code should lead to a contact form, pre-filled with the name of the rep who gave it to the lead. That way, no manual data entry—and every lead is attributed to the right person or campaign.

    Example link behind the QR code:
    https://yoursite.com/offer/?salesperson=Alex%20Smith

    When the prospect scans the code, the salesperson’s name appears in a hidden field. Neat, right?

    How It Works

    ‍
    ✅ URL parameters carry hidden data from the QR code directly into the form.
    ✅ That data pre-fills a field on the form—visible or hidden.
    ✅ When the form is submitted, the lead is automatically assigned to the correct sales rep or campaign.

    Resolution Steps

    Step 1: Create a Hidden Form Field

    ‍
    ➡ Choose your form plugin (Gravity Forms, WPForms, Ninja Forms).
    ➡ Add a Hidden field and name it Sales Rep or Campaign Source.

    Step 2: Turn On Dynamic Population

    ‍
    ➡ In the form settings, turn on Dynamic Population.
    ➡ Set the parameter name as salesperson.

    Step 3: Generate QR Codes with URLs

    ‍
    ➡ Create one link per rep:
    https://yoursite.com/offer/?salesperson=Alex%20Smith
    ➡ Use any free QR code generator to turn these URLs into scannable QR codes.

    Step 4 (Optional): Hide or Lock the Field

    ‍
    ➡ If you don’t want users to change the value, use a Hidden Field or set it to read-only.

    Pro Tip: You can even use this dynamic value in confirmation emails or thank-you pages, like:
    “Thanks! Your request has been sent to Alex Smith.”

    Final Outcome

    • ✅ Sales rep names filled in automatically.
    • ✅ No missed leads or manual errors.
    • ✅ Marketing attribution made easy and fully trackable.

    Why This Works

    • Works across campaigns, QR codes, emails, social links.
    • Makes lead collection easier, faster, cleaner.
    • No need for custom dev or expensive plugins.

    ‍

  • How to redirect PDF files in WordPress without breaking old links

    Issue Background

    A client needed to update a PDF stored in their Media Library. The problem? Changing the filename would break every instance where that file had been shared, including old URLs and direct links on their website or other web pages.

    For example:
    ❌ Old PDF URL: /wp-content/uploads/2024/02/old-document.pdf
    ✅ New PDF URL: /wp-content/uploads/2025/03/updated-document-v2.pdf

    Most WordPress hosts and FTP servers would not process redirects for static files like PDFs. Redirects usually work for pages, posts, or attachment pages, but not media assets directly.

    Diagnosis

    ‍
    Standard redirect plugins, server settings, or regular expression rules couldn’t handle this scenario. The fix required a creative solution at the server and WordPress level—one that works with WordPress, handles PDF file URLs, preserves SEO, and allows visitors to access the new PDF automatically.

    Solution

    ✔️ Step 1: Rename the Old File

    ‍
    Using SFTP, FTP, or your hosting file manager, locate the original PDF in the upload folder and rename it, like this: old-document-old.pdf

    ✔️ Step 2: Create a “Fake” Directory

    ‍
    Inside the same folder, create a directory using the exact same name as the old file (yes—with the .pdf extension): /wp-content/uploads/2024/02/old-document.pdf/

    ✔️ Step 3: Add a Redirect File

    ‍
    In that new folder, create an index.php file containing this redirect code:

    php

    CopyEdit

    <?php
    header(“HTTP/1.1 301 Moved Permanently”);
    header(“Location: /wp-content/uploads/2025/03/updated-document-v2.pdf”);
    exit();
    ?>

    Now, whenever someone clicks the old PDF link, they’ll land on your new, updated version automatically.

    Why It Works

    ‍
    ➡️ Browsers try to load /old-document.pdf but find a folder instead.
    ➡️ That folder serves the index.php, which executes a 301 redirect to your new file.
    ➡️ No broken links. No SEO losses. Just clean user experience.

    Final Outcome

    ‍
    ✔ No need to manually update old links on your website—or anywhere else.
    ✔ Users go directly to your new document.
    ✔ Search engines respect the 301 redirect, maintaining SEO continuity.

    ‍

  • Improving Checkout UX for Printify + Local Pickup in WooCommerce

    Issue Overview

    The store owner requested a full review after reports of:

    • Printful-related backend errors (despite now using Printify)
    • Confusing shipping settings
    • Poor cart feedback after item addition
    • Inconsistent user guidance for shipping vs. pickup

    What We Found

    ⚠️ Legacy Plugin Conflicts

    Old Printful plugins and settings caused backend errors—even for products now powered by Printify, affecting WooCommerce checkout reliability.

    Shipping Class Gaps

    Some Printify items didn’t have the right “shippable” shipping class, breaking fulfillment flows and ecommerce checkout process.

    Limited Pickup Clarity

    Local pickup was Florida-only, but the checkout page and product page didn’t clearly communicate pickup location or local pickup options to the shopper.

    Cart Feedback Missing

    Add-to-cart action just refreshed the page—no cart toggle, no confirmation, no prompt to continue, affecting smooth shopping experience and increasing cart abandonment risk.

    Fixes & Testing

    • Ran real test orders: one shipped via Printify, one marked for local pickup
    • Applied a one-time coupon to simulate checkout without disrupting analytics
    • Flagged products missing correct shipping classes
    • Recommended design tweaks for:
    • Address change visibility
    • Cart behavior (toggle or redirect after adding)
    • Clear shipping/pickup messages during checkout

    Outcome

    With real-world testing and strategic UX fixes, the store now:

    • Handles Printify orders reliably
    • Guides users smoothly between shipping and pickup
    • Prevents backend errors from outdated configurations
    • Improves cart flow and encourages checkout

    Need Checkout Help?

    Integriti Studio can streamline your WooCommerce store for better shipping, dropshipping, local pickup in WooCommerce, and conversion optimization, including checkout improvements, customization, and offering local pickup options for many store owners.

    ‍

  • Displaying Accurate Price Ranges for Variable Products in WooCommerce + Algolia

    What’s the Issue?

    Variable products are supposed to display a price range (e.g., variable product price range or full price range) on WooCommerce category pages. But sometimes, especially with products with multiple variations or new product entries, only the starting price appears. This happens when the minimum price, variation price, and variable product price values aren’t being synced properly between WooCommerce and Algolia search integration.

    Other symptoms might include:

    • Missing or incorrect sale prices
    • Price formatting errors (like $108.5 instead of $108.50)
    • Products showing $0.00 due to stale or invalid data

    How to Fix It

    1. Update Your Algolia Index

    Make sure variation prices, minimum price, and price of the product fields are being pushed to Algolia during product indexing. If they’re missing, category pages won’t be able to display the price range display or display variable product properly.

    Use bulk update methods like wp_update_post(), admin batch edits, or custom code snippets to trigger a full sync.

    2. Fix the Price Template Logic

    Edit your WooCommerce theme or builder templates so that:

    • The full price range displays when min and max values differ
    • Sale prices are shown clearly with correct formatting
    • Single-price products don’t show ranges unnecessarily
    • Decimal formatting stays consistent at two places

    3. Improve Sale Price Sync

    WooCommerce sometimes fails to notify Algolia when scheduled sales go live. Include price of the product and discount fields in the product index and modify your frontend logic, custom code, or WooCommerce’s default templates to account for these dates instead of relying on default sale status.

    4. Handle the Edge Cases

    Look out for older product entries, database irregularities, or default settings. Add logic to handle:

    • Missing price values
    • Outdated variations
    • Incorrect formatting caused by import or plugin issues

    Clear all cache layers once the fixes are implemented to ensure updates appear live and WooCommerce will display or WooCommerce will show the correct price range in WooCommerce.

    ✅ What You’ll Achieve

    After fixing the indexing and display logic:

    • Your category pages will accurately reflect price ranges and sales
    • Customers won’t get confused by misleading pricing
    • Algolia and WooCommerce will stay properly synced—automatically

    Need help cleaning up your price logic or syncing search with WooCommerce?

    ‍

  • Ensuring Complete Visibility in Custom Post Type Searches

    The Problem

    On a WordPress site powered by CPTs and custom post types in WordPress, a recently re-published listing failed to appear in specific filtered views, custom search forms, and WordPress search results, despite being publicly accessible on its individual page. This often happens when:

    • Key custom fields that power filters are left empty
    • Query logic relies on future-dated schedules
    • Filters are stacked in a way that excludes incomplete records
    • Cache or replication delays skew the frontend display

    What We Found

    To isolate the issue, our team at Integriti Studio reviewed the content setup, content types, and filtering logic:

    ✅ Custom Field Checks

    One required custom post type content field—used by the filter system to group CPTs—was empty. Because the query expected a value, this post was silently skipped in WordPress search results and post type archives.

    ✅ Filter Query Debugging

    The PHP behind the filter logic (functions.php file) was relying on meta_query conditions that excluded empty fields. The logic also compared scheduling dates, which can block visibility if not configured properly in your WordPress theme or template.

    ✅ Display Context Audit

    The post was missing from filtered lists, custom post types manually displayed, or post type archives but appeared on its standalone page, default post types, and in some unfiltered queries. This inconsistency confirmed that the filtering code—not post status—was to blame for content display issues on your WordPress site.

    How We Fixed It

    1. Populated Required Fields

    We ensured the post had a valid value in the “all centers” field, custom post type using filters, or add your custom post setup so it would be picked up by filters expecting that key.

    2. Adjusted Conditional Logic

    Updated the custom template, template, or PHP code to include posts if they met a valid future date condition, appropriate assignment, or location taxonomy.

    3. Ordered Output Clearly

    Added a fallback orderby parameter to maintain predictable sorting (like alphabetical order), improving both user experience, UX, and debugging clarity.

    4. Cleared Caches and Retested

    Purged all plugin, server, and object caches. Then tested the result in:

    • Global site search
    • Filter-based listings
    • CPT archives
    • Location-based views

    The Result

    The entry now displays as expected across all views. This fix ensures future posts won’t fall through the cracks due to incomplete fields, custom post types not appearing, or overly strict filters—keeping directories complete and content on your WordPress site accurate.

    Struggling with CPT Search and Filters?

    We help WordPress sites avoid broken listings and patchy search results with clean, scalable logic.

    Get in touch with Integriti Studio — and make every listing count.

    ‍

  • Fixing Event Calendar Display Errors After Theme Updates

    What Went Wrong

    After updating both the theme and TEC plugin, the events archive page (e.g., /events/) showed a blank screen or 404 errors. The issue stemmed from a compatibility conflict between the theme’s archive layout, template overrides, and TEC’s rendering logic for upcoming events or dynamic content. This often happens after plugin or theme updates, plugin updates, or upgrading your WordPress theme without staging environment testing.

    How We Diagnosed It

    ✅ Tested on staging first

    We replicated the issue on a staging site, staging environment, or stage to avoid affecting the live site. Screenshots and browser inspection helped reproduce the issue.

    ✅ Checked known conflicts

    Forum threads, Themeco forum, and WordPress.org knowledgebase revealed a known issue between newer Impreza theme versions, theme-specific layout, and TEC’s archive view templates or default events template.

    ✅ Isolated the problem

    Blank screens typically mean a PHP error, template conflict, or custom code issue—especially when it only affects a dynamic page, events page, or calendar view like /events/.

    What Fixed It

    1. Synced all updates

    We updated both the Impreza theme, theme update, and The Events Calendar plugin, events calendar plugin, events calendar plugins, or events calendar pro to their latest version. Partial updates or previous version roll back can cause functionality issues.

    2. Switched archive templates

    Under display settings, display, or template overrides, we changed the archive layout to “Default Events Template” instead of the theme-integrated option or events template override. This resolved display issues in list view, style, or CSS.

    3. Cleared cache and reset permalinks

    We flushed caches and re-saved permalinks via Settings → Permalinks to ensure proper routing.WordPress dashboard to ensure proper URL routing and front end display.

    4. Applied fix to live site

    Once confirmed on staging site, staging environment, or stage, the changes were safely mirrored on the live site, live site front end, or front-end view without disrupting new events or dynamic content.

    Final Result

    The events archive now loads properly with no blank screens, broken views, or 404 errors. Keeping both the theme and TEC updated, using the right template display settings, and monitoring plugin or theme updates ensures stable functionality, restores event calendar functionality, and allows the page editor or builder to render content correctly.

    Need Help with Plugin Conflicts?

    We help WordPress sites stay stable after updates—no broken layouts or missing content.

    Talk to Integriti Studio — your experts in theme + plugin compatibility.

    ‍