Category: Studio Resources

  • How to Add Optimized Content Blocks Below WooCommerce Category Grids

    Issue Background:

    By default, WooCommerce category pages focus solely on product listings. While clean and visual, this structure limits on-page SEO:

    • Pages lack crawlable content for search engines.
    • Default category descriptions appear above products, not ideal for user flow or optimization.
    • Plugins like Yoast SEO help with meta data—but not with visible content display on category templates.

    An SEO team requested a flexible content section beneath the product grid to improve indexing and keyword targeting.

    Diagnosis:

    • Yoast SEO couldn’t handle content injection below product listings.
    • The default description field was limited in placement and styling.
    • No existing WYSIWYG or user-editable field supported rich content per category.

    Resolution Steps:

    1. Created a new ACF field:
      A WYSIWYG editor was added to WooCommerce product categories using Advanced Custom Fields PRO.
    1. Wrote a custom shortcode:
      A custom shortcode rendered the ACF field below product grids on archive templates.
    1. Tested and styled the content block:
      We verified compatibility with existing category templates and ensured formatting held across mobile and desktop.
    1. Flagged pagination concerns for future:
      Minor quirks with pagination were observed during testing and documented for future template refinement.

    Final Outcome:

    Each product category page now includes an editable, SEO-optimized content section under the product listings. This gives content managers space to:

    • Add keyword-focused copy.
    • Link to related categories or landing pages.
    • Include images or helpful context for shoppers.

    It’s a clean, scalable solution to boost crawlability without compromising the shopping experience.

    Looking to improve ecommerce SEO without cluttering your layout?

    Integriti Studio builds flexible, editable content blocks that balance performance and design.

  • Declutter Your WordPress Dashboard with Smarter CPT & Field Cleanup

    At Integriti Studio, we helped one client streamline their WordPress site by removing outdated CPTs and fields—making the admin area cleaner, simpler, and easier to manage.

    The Problem

    • Old CPTs that were no longer active or useful
    • Custom fields still showing up in editors, but not tied to any current template
    • Editors overwhelmed by irrelevant options and messy interfaces

    It was time for a cleanup.

    ️ What We Did

    Identified & Removed Unused CPTs

    We audited all existing custom post types, confirmed which were obsolete, and safely removed them from the theme and plugin code.

    Cleaned Up Outdated Custom Fields

    All registered fields were reviewed. Unused or redundant fields were removed, especially those that made editing pages harder for the team.

    Improved the Admin Experience

    Post and page editors now see only the fields they need. That means fewer clicks, less confusion, and faster publishing.

    Safe Testing & Rollout

    Everything was tested in staging first—no surprises. Once confirmed, we deployed the clean version to the live site with zero disruption.

    The Results

    • A clean, user-friendly admin interface
    • No more irrelevant fields or post types
    • Easier, faster content updates
    • Slight performance boost from reduced backend bloat

    Why Cleanup Makes a Difference

    • Less clutter = fewer mistakes
    • Better performance through fewer queries and a lighter database
    • Easier maintenance for developers and editors
    • Future-proof structure that’s ready for whatever’s next

    Want your WordPress backend to work with your team—not against them?

  • Blocking Spam: Smarter Ways to Secure WordPress Forms

    This guide walks you through real-world anti-spam tactics you can use right now—especially if you’re using Gravity Forms, WPForms, Ninja Forms, or Contact Form 7.

    What’s Really Causing the Spam?

    Most WordPress forms come with the basics, but not real protection. A site owner came to us after noticing an uptick in spam submissions—and it turned out their forms had no active anti-spam setup at all.

    That’s like leaving your front door wide open.

    Here’s How to Stop It

    Add Google reCAPTCHA

    One of the most effective ways to block bots.

    • Works with all major form plugins
    • Choose v3 (invisible) or v2 (checkbox)
    • Add your site keys in form settings
    • Activate across all important forms
    Use Akismet Anti-Spam

    A powerful plugin that filters out spam automatically.

    • Integrates with Gravity Forms, WPForms, and Ninja Forms
    • Requires an API key (easy to set up)
    • Just toggle it on inside your form settings
    Enable Honeypot Protection

    Bots will fall into this trap—users won’t even know it’s there.

    • Available in most form plugins
    • Add it with one click from form settings
    • No CAPTCHA required for users

    Use Conditional Logic for Filtering

    Advanced but powerful.

    • Block submissions with certain keywords, fake domains, or odd behavior
    • Examples:
      → Block if the message contains “viagra”
      → Hide the submit button if the email ends in .ru
    • Available in Pro versions of most form builders

    The Results?

    After applying these simple tweaks:

    • Spam dropped drastically
    • Real users had zero friction
    • Forms stayed clean, fast, and accessible

    Want to lock down your WordPress forms—without frustrating your users?

  • 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., $9.99 – $49.99) on category pages. But sometimes, especially with Algolia-powered search, only the lowest price appears. This happens when the min_price and max_price values aren’t being synced properly between WooCommerce and Algolia.

    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 min_price and max_price fields are being pushed to Algolia during product indexing. If they’re missing, category pages won’t be able to display the range.

    Use bulk update methods like wp_update_post() or admin batch edits 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 sale_start_date and sale_end_date in the product index and modify your frontend logic to account for these dates instead of relying on default sale status.

    4. Handle the Edge Cases

    Look out for older product entries or database irregularities. 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 changes appear live.

    ✅ 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, a recently re-published listing failed to appear in specific filtered views and search queries, 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 and filtering logic:

    ✅ Custom Field Checks

    One required field—used by the filter system to group CPTs—was empty. Because the query expected a value, this post was silently skipped in results.

    ✅ Filter Query Debugging

    The PHP behind the filter logic was relying on meta_query conditions that excluded empty fields. The logic also compared scheduling dates, which can block visibility if not configured properly.

    ✅ Display Context Audit

    The post was missing from filtered lists but appeared on its standalone page and in some unfiltered queries. This inconsistency confirmed that the filtering code—not post status—was to blame.

    How We Fixed It

    1. Populated Required Fields

    We ensured the post had a valid value in the “all centers” field so it would be picked up by filters expecting that key.

    2. Adjusted Conditional Logic

    Updated the template to include posts if they met either a valid future date condition or an appropriate assignment like location.

    3. Ordered Output Clearly

    Added a fallback orderby parameter to maintain predictable sorting (like alphabetical order), improving both 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 or overly strict filters—keeping directories complete and user journeys smooth.

    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 Contact Form Email Links Broken by SendGrid Tracking

    What Was Going Wrong

    A client’s contact form emails included a link to a key application page. But users reported that the link either broke or redirected incorrectly. The email was being sent using WP Mail SMTP and SendGrid.

    Root Cause

    Link Rewriting by SendGrid


    SendGrid was rewriting the original URLs to go through their tracking domain (to measure clicks), but those rewritten links weren’t working.

    ️ DNS or Tracking Misconfig


    The click tracking subdomain hadn’t been fully set up in SendGrid’s dashboard — or the DNS wasn’t resolving properly.

    Steps to Fix It

    1. Check the Setup


    Go to your WordPress WP Mail SMTP settings and confirm that SendGrid is the active mailer.

    2. Review Click Tracking Settings


    In SendGrid:

    • Go to Settings > Tracking
    • Look at the domain listed under click tracking
    • Make sure the proper CNAME DNS record is set up and active
    3. Test the Links


    Send yourself a test email. Inspect the source of the email to see the rewritten URLs. Try clicking them — if they fail, it’s definitely a SendGrid redirect issue.

    4. Disable Click Tracking (if needed)


    To restore working links instantly, you can disable SendGrid’s click tracking feature. This stops the URL rewriting and keeps your links clean.

    5. Clean Up the Template


    While testing, make sure your email templates are free of broken links or unnecessary tracking codes.

    The Result

    Once click tracking was disabled, links worked perfectly again. The autoresponder email now routes users where they’re supposed to go — helping the client avoid lost leads.

    Trouble with your WordPress emails or SMTP setup?
    Let Integriti Studio handle it — from mailer configs to link integrity.

  • Fixing Contact Form Email Links Broken by SendGrid Tracking

    What Was Going Wrong

    A client’s contact form emails included a link to a key application page. But users reported that the link either broke or redirected incorrectly. The email was being sent using WP Mail SMTP and SendGrid.

    Root Cause

    Link Rewriting by SendGrid


    SendGrid was rewriting the original URLs to go through their tracking domain (to measure clicks), but those rewritten links weren’t working.

    ️ DNS or Tracking Misconfig


    The click tracking subdomain hadn’t been fully set up in SendGrid’s dashboard — or the DNS wasn’t resolving properly.

    Steps to Fix It

    1. Check the Setup


    Go to your WordPress WP Mail SMTP settings and confirm that SendGrid is the active mailer.

    2. Review Click Tracking Settings


    In SendGrid:

    • Go to Settings > Tracking
    • Look at the domain listed under click tracking
    • Make sure the proper CNAME DNS record is set up and active
    3. Test the Links


    Send yourself a test email. Inspect the source of the email to see the rewritten URLs. Try clicking them — if they fail, it’s definitely a SendGrid redirect issue.

    4. Disable Click Tracking (if needed)


    To restore working links instantly, you can disable SendGrid’s click tracking feature. This stops the URL rewriting and keeps your links clean.

    5. Clean Up the Template


    While testing, make sure your email templates are free of broken links or unnecessary tracking codes.

    The Result

    Once click tracking was disabled, links worked perfectly again. The autoresponder email now routes users where they’re supposed to go — helping the client avoid lost leads.

    Trouble with your WordPress emails or SMTP setup?
    Let Integriti Studio handle it — from mailer configs to link integrity.

  • 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. The issue stemmed from a compatibility conflict between the theme’s archive layout and TEC’s rendering logic.

    How We Diagnosed It

    ✅ Tested on staging first

    We replicated the issue on a staging site to avoid affecting the live environment.

    ✅ Checked known conflicts

    Forum threads revealed a known issue between newer Impreza theme versions and TEC’s archive view templates.

    ✅ Isolated the problem

    Blank screens typically mean a PHP error or template conflict, especially when it only affects a dynamic page like /events/.

    What Fixed It

    1. Synced all updates

    We updated both the Impreza theme and The Events Calendar plugin to their latest versions—partial updates often cause issues.

    2. Switched archive templates

    Under Events → Settings → Display, we changed the archive layout to “Default Events Template” instead of the theme-integrated option.

    3. Cleared cache and reset permalinks

    We flushed caches and re-saved permalinks via Settings → Permalinks to ensure proper routing.

    4. Applied fix to live site

    Once working on staging, the changes were safely mirrored on the live environment.

    Final Result

    The events archive now loads properly with no blank screens or broken views. Keeping both the theme and TEC updated, and using the right template display setting, restored stable event functionality.

    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.

  • Fixing Featured Posts Not Showing on Your WordPress Homepage

    The Problem

    A client approached us after noticing that posts labeled as “Featured” were no longer showing on their homepage. They were using a custom category called “Featured Post” to organize and display these posts—but even after applying the correct category to new posts, the homepage remained empty.

    To make matters worse, their WordPress dashboard had become cluttered—columns were misaligned, and the “All Posts” screen was hard to read.

    Diagnosis

    After auditing the site, our developers found that:

    • The “Featured Post” category was still functioning as expected.
    • The homepage used a page builder module (like Elementor, Divi, or WPBakery) to display those posts.
    • That specific module had stopped pulling content from the “Featured Post” category, likely due to updates or misconfiguration.

    In short, the post content was there—but the tool showing it had broken.

    ✅ The Fix: Swap Out the Module

    Rather than spending hours debugging the old module, we took a simpler route:

    • We replaced the existing Posts display module with a more stable one from the builder’s library.
    • Reconfigured it to fetch posts from the “Featured Post” category.
    • Matched the styling so the layout remained visually consistent.

    This fresh setup bypassed the broken logic, restored visibility, and future-proofed the section against plugin hiccups.

    Want smoother WordPress layouts? Book a quick call.

    Bonus Fix

    The client also struggled with a messy “Posts” screen in the admin panel. Here’s what we did:

    • Used the Screen Options menu (top right of the admin area).
    • Hid unnecessary columns and enabled only the relevant ones.
    • Increased the number of posts displayed per page for easier management.

    Small tweak—big difference in usability.

    Need help cleaning up your dashboard? We’ve got you.

    Why This Works

    WordPress page builders rely on display modules to pull and show content. But when:

    • Plugins update
    • Theme conflicts arise
    • Caching interferes
    • Or modules simply break

    your front-end content can vanish even if everything else is set up correctly.

    Starting fresh with a new module ensures cleaner queries and fewer bugs.

    Need Hands-On Help?

    If your homepage layout isn’t doing what it should—whether it’s broken post sections, weird formatting, or content not pulling—Integriti Studio’s WordPress experts can step in and fix it fast.

    We help you clean up the backend, streamline the frontend, and make sure everything just works.

  • Fixing Gallery Images Not Showing in Custom Posts (Gravity Forms + Beaver Builder)

    Even though the form works and the images land in the Media Library, they’re invisible on the actual post. Here’s how we helped fix it by adjusting Beaver Builder’s template connection—without touching the core form structure.

    What Was Going Wrong?

    • Users submitted images using a Gravity Form.
    • The form created a custom post entry, and images were uploaded successfully.
    • But nothing showed up on the live page.

    The issue? The gallery field wasn’t connected in the Beaver Builder template. Even though the backend had the data, it wasn’t being displayed.

    Why It Happens

    When using Gravity Forms + ACF + Beaver Builder, it’s not enough to just store image data. You must map and display it through:

    • Gravity Forms → correctly assigning custom fields
    • ACF → setting up gallery fields
    • Beaver Builder → pulling that data visually into the layout

    If any one link in that chain is missing—nothing shows up.

    How We Fixed It

    1. Double-Checked Form Field Mapping

    In Gravity Forms → Post Creation Feed, we ensured the image upload was connected to the correct custom field, like:
    Field Name: gallery_images | Value: {Image Upload:3}

    2. Reviewed ACF Field Group

    In Advanced Custom Fields, we created a Gallery Field called gallery_images and attached it to the relevant Custom Post Type.

    3. Updated the Beaver Builder Template

    In Beaver Builder, we edited the Single Post Template for the CPT. We added a Field Connection Module, linked it to gallery_images, and styled it as a carousel.

    4. Ran a Full Workflow Test

    We submitted a fresh form with new images, confirmed their upload, and verified that they now appeared perfectly on the live page.

    Bonus: Smarter Email Notifications

    While improving the form, we also updated email settings:

    • Verified the “From” address in Gravity Forms.
    • Used dynamic tags in email subjects for personalization (e.g., “New Listing: {Custom Field:2}”).

    The Result

    With the right field connection added in Beaver Builder, gallery images now appear exactly where users expect them—no double entries or broken layouts. The form works end-to-end, just as it should.

    Want Help With Gravity Forms + CPT Workflows?

    Struggling with hidden fields, display bugs, or form-to-post challenges in WordPress? We’re pros at getting Gravity Forms, ACF, and Beaver Builder to play nicely together.