Blog

  • Java Backend Developer

    About the job Java Backend Developer

    Acerca del Rol

    Estamos en búsqueda de un Desarrollador Backend Java con sólida experiencia en Spring Boot y Microservicios para unirse a nuestro equipo. El candidato ideal tendrá experiencia en el desarrollo de sistemas backend escalables, construcción de APIs e integración de sistemas complejos, manteniendo siempre un código de alta calidad.

    Responsabilidades Clave

    • Desarrollar, mejorar y mantener aplicaciones backend utilizando Java y Spring Boot.
    • Construir y optimizar APIs RESTful y microservicios.
    • Integrar sistemas backend con herramientas y plataformas de terceros.
    • Identificar, depurar y resolver problemas en el backend de manera eficiente.
    • Colaborar con equipos multifuncionales (frontend, QA, DevOps) para entregar soluciones a tiempo.
    • Seguir estándares de codificación, participar en revisiones de código y asegurar la optimización del rendimiento.

    Requisitos

    • Licenciatura en Ciencias de la Computación, Ingeniería de Software o campo relacionado.
    • 3-5 años de experiencia en desarrollo backend con Java.
    • Conocimiento sólido en Spring Boot, Microservicios y APIs REST.
    • Dominio de bases de datos (MySQL, PostgreSQL) y frameworks ORM (Hibernate).
    • Familiaridad con Git, pipelines de CI/CD y metodologías ágiles.
    • Capacidad para trabajar en un entorno dinámico en turno vespertino.

    Habilidades Deseables

    • Experiencia en plataformas en la nube (AWS, Azure, GCP).
    • Conocimientos en Docker/Kubernetes y soluciones de caché (Redis, Memcached).
  • Preventing Homepage Content Disappearances After Plugin Updates in WordPress

    What Happened

    After updating plugins on a staging site, the homepage content—powered by Slider Revolution—vanished. While the live version looked fine, the staging version (with the updated plugin) lost all slider visuals. The culprit? A version mismatch in Slider Revolution.

    What We Found

    • The live site was running v6.7.14
    • The staging site was updated to v6.7.34
    • The issue was introduced in v6.7.33, which added ARIA accessibility changes
    • These updates clashed with existing slider configurations, breaking the display

    How We Fixed It

    ⬅️ Reverted the update


    We rolled back to version 6.7.14 on staging to restore the slider content.

    Paused live updates


    To avoid disruption, we held off updating Slider Revolution on the live site until the issue was patched by the plugin author.

    ✅ Updated everything else


    Other plugins like WPBakery were updated safely in staging, tested thoroughly, and then rolled out live.

    Reviewed theme dependencies


    We checked whether a theme update was needed and confirmed the latest files were available directly from the vendor.

    Final Outcome

    The homepage slider was restored with zero downtime. By isolating the issue to a specific plugin version and using a smart rollback strategy, we ensured the site stayed functional while waiting for an official fix.

    Dealing with a similar plugin issue?

    Let Integriti Studio help you diagnose and fix plugin conflicts—before they disrupt your live site.
    Contact Integriti Studio today for expert WordPress troubleshooting.

  • Improving Search Accuracy in WordPress Directories

    The Problem

    Users faced two main issues:

    • Short Names Didn’t Work: Two-letter last names were blocked due to a minimum character rule.
    • Full Names Failed: Typing a full name returned no results, even when the individual parts matched.

    These flaws meant frustrated users and missed connections.

    What We Fixed

    Smarter Matching


    We rewrote the search logic so it could handle two-letter names—now providers like “Li” or “Wu” show up just fine.

    ⏳ Better Timing


    The search now waits 1.5 seconds after the user stops typing (or triggers instantly with Enter). This prevents older, slower requests from overwriting better results.

    Full Name Parsing


    Typing a full name like “Sarah Lee” now gets split and matched across both first and last names.

    Results That Matter

    ✅ Users now get the right results—no matter the name length
    ✅ Search is faster, more accurate, and easier to use
    ✅ Full name queries now behave as users expect

    Struggling with directory search limitations on your WordPress site?
    Let Integriti Studio optimize it for clarity, speed, and results.

  • Restricting WooCommerce Registrations by Email Domain for Secure Portals

    Issue Overview

    A private WooCommerce support portal displayed a visible company dropdown during registration—exposing the names of all approved partner companies. This raised a major privacy concern.

    The client needed to:

    • Hide the list of partners from the public form
    • Automatically assign users to a company based on their email domain
    • Reject registrations from unauthorized domains
    • Allow flexible updates to validation rules

    What We Did

    Removed public company selector

    The visible company field was removed to prevent exposing internal partner data.

    ✉️ Email-based validation

    We wrote a custom function that scanned the user’s email domain and matched it to a list of approved companies.

    Smart company assignment

    When a match was found, the user was automatically assigned to the correct partner company—no dropdown required.

    ⛔ Block unauthorized access

    If a domain didn’t match the whitelist, registration was blocked with a clear error message:
    “Only authorized work email addresses will be approved.”

    ️ Admin-editable messaging

    We made the error message editable via the WordPress dashboard using the Code Snippets plugin—no need to touch code for future updates.

    Final Result

    Registrations are now secure, automated, and privacy-friendly. Partner companies can manage domain access dynamically, while unauthorized users are quietly filtered out—no friction, no risk.

    Build smarter, safer user flows with us

    From registration security to dynamic content access, Integriti Studio crafts custom WooCommerce workflows that work for your business—not against it.

  • Scroll-Synced Video Animations in Divi with JavaScript

    What the Client Needed

    The goal: let users “control” the video timeline by scrolling. As they moved down the page, the video would scrub forward frame-by-frame—reversing if they scrolled back up. It needed to work seamlessly within Divi’s layout system and be reusable across multiple product pages.

    Key Challenges Solved
    • Divi’s section structure conflicted with animation layers
    • Early tests caused choppy frame playback
    • Video contained blank frames that disrupted flow
    • Off-the-shelf plugin wasn’t customizable enough
    • Frame rate and file size needed careful balancing

    How We Built It

    Custom Scroll Script
    A JavaScript scroll listener updated the video’s currentTime based on how far the user had scrolled.

    Frame Rate Tweaks
    We tested 30fps, 60fps, and 90fps. Final videos ran at 60fps for smoothness without heavy load.
    Video Editing Cleanup
    Start and end frames were trimmed to eliminate white flashes or slow loading moments.
    Divi Layout Optimization
    We fine-tuned section spacing and layering to make sure the video played seamlessly within the builder.

    Result

    ✅ Smooth, scroll-based video playback
    ✅ Works across pages and screen sizes
    ✅ No blank frames or jittery animation
    ✅ Easy to replicate for other products

    Looking to add immersive video animation to your WordPress site?

  • Solving Featured Image Display Bugs in Custom WordPress Themes

    Plugin Dependency Check

    The theme assumed WooCommerce and other plugins were active, causing PHP warnings when they weren’t. Logic was updated to safely verify plugin presence before executing related code.

    Shortcode Issue Resolved

    A broken rendering pipeline prevented shortcodes like [member_logged_in_title] from appearing. Fixing upstream errors restored their functionality across templates.

    Fixing the Meta Logic

    The “Hide Featured Image” toggle wasn’t working as intended due to incorrect handling of serialized custom fields. The logic was updated to properly read and apply the toggle across all posts.

    Removed Hardcoded Limits

    The visibility rule was oddly restricted to post IDs over 29997. We eliminated this condition so the toggle now works for all posts, regardless of publish date or user status.

    Final Outcome

    ✅ PHP warnings eliminated
    ✅ Featured image toggle now works everywhere
    ✅ Shortcodes and embeds function normally
    ✅ Page editor UX simplified by aligning toggle behavior

    If your theme’s logic is holding back your WordPress site, we’re here to help.

  • Solving Popup & Layout Glitches in ACF-Powered WordPress Pages

    Here’s how we solved a similar problem and how you can too.

    ️ What Was Going Wrong?

    On a custom-built webinar landing page, two annoying issues came up:

    • Popups linked to speaker images weren’t opening at all for some users.
    • Longer user names were breaking the layout, pushing spacing out of alignment and making the section look messy.

    After a quick inspection, it became clear the ACF-powered popups were clashing with the front-end layout—especially where content was incomplete or improperly configured.

    What We Fixed

    ✅ 1. Removed Empty Popup Triggers

    An unlinked popup trigger attached to one image was causing the popup script to fail. We removed the rogue trigger so each image only fired when data actually existed.

    ✅ 2. Extended ACF for More Profiles

    We updated the template and backend to support up to six speakers dynamically, using ACF fields cleanly mapped to each popup’s content.

    ✅ 3. Repaired the Layout Grid

    Long names were throwing off alignment. We restructured the layout using a more flexible grid, adjusting spacing and vertical alignment for a polished appearance.

    ✅ 4. Built-In Fallbacks

    We tested how the page would behave when ACF popup content was missing—and added fallback behavior to ensure the layout stays clean even without complete data.

    ✅ The Result?

    • Fully functional popups, displayed only when actual data exists
    • A consistent layout that works for short or long names
    • Clean content management in the backend with flexible ACF fields

    Want help designing dynamic layouts that just work?

  • Switching from Dynamic to Static Google Maps in WordPress

    The Problem

    Using dynamic Google Maps on dozens of WordPress pages can drain your API quota and impact site performance. If every location page loads a live map, you’re likely triggering API calls that rack up unnecessary costs and slow things down.

    What We Found

    • Dynamic map calls were made on each page load
    • API usage logs showed high volume, even during low-traffic periods
    • Zoom levels and pin placements varied slightly, causing design inconsistencies
    • Pages loaded slower due to external map requests

    Our Approach


    1. Add a Static Map Field


    Created an ACF image field (location_static_map) for uploading pre-generated thumbnails to each location post.

    2. Generate Map Thumbnails


    Used manual tools and Google Maps previews to create static images with precise zoom and pin placement. This ensured consistent design across locations.

    3. Replace Live Maps with Images


    Updated the location template to pull in the uploaded static image instead of making a live API call.

    4. Optimize and Clean Up


    Removed unused Google Maps scripts and tested across devices for speed, responsiveness, and visual clarity.

    The Result


    ✅ Lower API usage
    ✅ Faster page loads
    ✅ Accurate, consistent visuals
    ✅ No more surprise billing from Google

    This approach is especially useful for franchise sites, healthcare chains, and service-based businesses with multiple locations.

    Want to Lower API Costs While Keeping Visual Quality?
    Let Integriti Studio help you streamline your WordPress maps setup with a smarter, static approach.

  • Troubleshooting API Access & Payment Issues with Authorize.net in WooCommerce

    The Checkout Issue at a Glance

    A client noticed possible disruptions at checkout, especially for non-logged-in users. The payment method in use was Authorize.net’s CIM integration for credit card processing. Even with orders still trickling in, there were red flags worth investigating.

    What We Uncovered

    The issue wasn’t just technical—it involved platform access, permissions, and workflow constraints:

    • Access Required 2FA: Gaining entry into the Authorize.net account was delayed due to two-factor authentication (2FA), which needed manual PIN relays from the client.
    • Missing API Key Options: Logged-in users couldn’t see the API regeneration section—hinting at limited permission access.
    • High-Risk API Rotation: Replacing the live API key without a backup would risk cutting off checkout immediately.

    How We Moved Forward Safely

    1. Secure Login Coordination
      Worked closely with the client to retrieve time-sensitive 2FA codes for dashboard access.
    1. Checked Admin Rights
      Confirmed the account user had restricted visibility; flagged the need for full admin rights to proceed.
    1. Planned a Zero-Downtime Switch
      Held off any API regeneration until a backup key could be pre-configured and tested.
    1. Collaborated with the Client
      Created a joint action plan so updates could happen in real time, with no checkout breakage.

    What It Meant for the Business

    By staying cautious and collaborative, we ensured the live store wasn’t impacted—even as we dug into critical gateway connections. The client now has a clear, secure path forward for managing future Authorize.net credentials with confidence.

    Need Help With Secure Checkout Setup?

    Payment integrations are delicate. One misstep can mean lost revenue. Let our team guide you through secure, high-uptime eCommerce architecture—whether you use Authorize.net, Stripe, or custom API workflows.

  • Troubleshooting Dealer Pricing Issues in WooCommerce

    What’s Going Wrong?

    Sometimes, even after removing or updating dealer pricing in your WooCommerce backend, the old values continue to show up for logged-in users. The issue often appears in:

    • The “Your Price” or dealer-specific price field.
    • The “From–To” pricing range on variable products.
    • Front-end views for distributor or wholesale user roles.

    If your backend is clean but outdated prices still display, it’s usually a sign that your pricing data hasn’t recalculated properly.

    How to Fix the Problem

    1. Review Distributor Pricing Logic

    Start by checking any custom functions that set dealer or distributor prices—especially for variable products. These functions need to correctly reset or update pricing on save.

    2. Trigger a Product Save

    WooCommerce doesn’t always recalculate pricing automatically. After fixing the logic, you’ll likely need to manually re-save affected products—or better yet, run a bulk script to do it at scale.

    3. Revisit Variable Products

    With variable products, the pricing often won’t update unless you open the Variations tab and manually save changes. This is a WooCommerce limitation and needs to be handled one by one.

    4. Clear All Caches

    Outdated cache (from CDNs, caching plugins, or browser sessions) can serve incorrect prices even after fixes. Always clear all layers of cache after updates.

    ✅ After You Fix It

    Once your functions are working, products are re-saved, and cache is cleared:

    • Dealer pricing updates will reflect instantly for logged-in distributors.
    • Price ranges on variable products will show the correct range.
    • Your product catalog will remain consistent across user roles.

    Pro Tips

    • Variation Pricing Requires Manual Handling: WooCommerce doesn’t always let you fully automate price recalculation for product variations.
    • Custom Code Errors Hide in Logs: Check your PHP logs for silent function failures that can break price updates.
    • Bulk Update with Caution: Use custom scripts carefully—test on staging first.
    • Clear All Cache Layers: Don’t forget about object cache, CDN cache, and plugin cache.

    Need help managing custom pricing, user role conditions, or WooCommerce display logic?