OOW PJAX, brought to you by OOWCODE and OOWPRESS, revolutionizes WordPress navigation with PJAX (PushState + AJAX), delivering lightning-fast page transitions without full page reloads. Built with pure JavaScript (no jQuery), this lightweight plugin ensures a modern, fluid user experience while remaining compatible with any WordPress theme. Whether you』re running a portfolio, a blog with a persistent media player, or a dynamic content site, OOW PJAX enhances navigation, boosts engagement, and reduces server load.
Why OOW PJAX Stands Out
OOW PJAX is designed for WordPress sites that demand seamless navigation and dynamic content updates. Unlike generic performance plugins, it targets specific use cases where fluid transitions are critical, such as:
- Sites with Persistent Media Players: Keep audio or video players (e.g., music, podcasts, live streams) running in the footer or sidebar during navigation, avoiding interruptions.
- Portfolio Websites: Showcase projects with smooth, app-like transitions, perfect for photographers, designers, or agencies.
- Dynamic Content Sites: Blogs, magazines, or news sites with frequently updated content benefit from fast, cached page loads.
- E-commerce Stores: Enhance product browsing with quick transitions, keeping users engaged without reload delays.
- Single-Page App (SPA) Experiences: Create a near-SPA feel for membership sites, directories, or dashboards without heavy frameworks.
- Interactive Landing Pages: Deliver immersive experiences for marketing campaigns or event sites with uninterrupted navigation.
Version 1.5 introduces a critical fix for handling Unicode characters (e.g., Chinese, emojis) in inline styles, preventing InvalidCharacterError issues with btoa. This update, contributed by @long-dotcom, ensures robust style management for multilingual and emoji-rich sites. It also enhances security with dynamic nonce refreshing, improves asynchronous stylesheet handling, and refines form redirect handling, making OOW PJAX more reliable for complex WordPress sites.
Key Features
- Seamless AJAX Navigation: Loads content via AJAX, updating specific containers without reloading the entire page.
- Persistent Elements: Keeps fixed elements (e.g., media players, sticky menus, chat widgets) intact during transitions.
- Browser History Support: Syncs URLs with the History API for natural forward/back navigation.
- Customizable Loader: Style the loading overlay with CSS to match your brand (e.g., spinner, progress bar).
- Content Caching: Stores pages locally for instant repeat visits, with adjustable cache lifetime and user-aware logic.
- Advanced Form Handling: Submits forms (e.g., comments, login, contact) via AJAX, with explicit nonce support and redirect handling (301, 302, 303, 307, 308).
- Dynamic Nonce Refresh: Automatically refreshes security nonces via AJAX for enhanced security and reliability.
- Lightweight & jQuery-Free: Built with vanilla JavaScript for minimal footprint and maximum performance.
- Flexible Configuration: Define target containers, exclude links/zones (e.g.,
.no-pjax,#wpadminbar), and add custom JS before/after navigation. - Debug Mode: Logs detailed information in the browser console and server logs for easy troubleshooting.
- Secure Implementation: Uses dynamic nonces, sanitization, and strict validation for all settings and AJAX requests.
- Script Priority Control: Customize the loading order of
oow-pjax.jsin the footer for compatibility. - Dynamic Style Management: Injects and manages page-specific stylesheets and inline styles asynchronously, now with Unicode support.
- Advanced Script Execution: Re-executes scripts in updated containers or footer, with control over inline scripts and validation.
- CodeMirror Integration: Edit Custom JS with syntax highlighting and a Dracula theme.
- Unicode Support for Styles: Safely handles non-Latin1 characters (e.g., Chinese, emojis) in inline styles without errors (new in 1.5).
Who Needs OOW PJAX?
OOW PJAX is tailored for WordPress users who want to elevate their site』s navigation and user experience. Specific use cases include:
- Music & Podcast Sites: Ensure uninterrupted playback of audio players during browsing.
- Video Platforms: Maintain video playback (e.g., tutorials, live streams) across navigation.
- Creative Portfolios: Deliver smooth transitions between project pages for artists or agencies.
- Content-Heavy Blogs: Speed up navigation with caching for frequently visited pages.
- E-commerce with Sticky Features: Keep cart widgets or live chat persistent during browsing.
- Membership Sites: Create fluid navigation for dashboards or course platforms.
- Marketing Campaigns: Build immersive landing pages with fast transitions.
How It Works
- Link Interception: Captures clicks on internal links, skipping external links,
target="_blank", excluded selectors (e.g.,.no-pjax), or excluded zones (e.g.,#wpadminbar). - AJAX Content Loading: Fetches new content via AJAX and updates specified containers (e.g.,
#main,.content). - URL Synchronization: Updates the browser』s URL using the History API for seamless navigation.
- Persistent Elements: Preserves fixed elements (e.g., media players, sticky headers) across transitions.
- Customizable Loader: Displays a styled overlay during content loading, with configurable minimum duration.
- Caching: Caches pages for instant repeat visits (disabled for logged-in users) with adjustable lifetime.
- Form Handling: Submits forms via AJAX, supporting explicit comment nonces and server-side redirects (e.g., 301, 302).
- Script Management: Re-executes scripts in updated containers or footer, with custom JS execution before/after navigation.
- Style Injection: Asynchronously injects page-specific stylesheets and inline styles, now with robust Unicode support.
Getting Started
Install OOW PJAX, configure it in minutes, and transform your site』s navigation:
1. Install and activate the plugin from the WordPress admin.
2. Go to OOWCODE > OOW PJAX in the WordPress admin panel.
3. In the Settings tab, enable PJAX and configure:
– Target Containers: CSS selectors for content updates (e.g., #main).
– Exclude Selectors/Zones: Links or zones to skip (e.g., .no-pjax, #wpadminbar).
– Loader CSS: Customize the loading animation.
– Cache Settings: Enable caching with a lifetime (e.g., 300 seconds).
– Form Handling: Enable AJAX for forms and specify refresh containers (e.g., #comments).
– Script Priority: Set a high value (e.g., 9999) to load oow-pjax.js late.
– Custom JS: Add JavaScript before/after navigation using CodeMirror.
4. Save settings and test navigation on your site.
5. Check the Overview tab for tips or the Support tab for help.
Live Demo
See OOW PJAX in action! Visit our live demo to experience seamless transitions, a persistent media player, and portfolio navigation on a real WordPress site.
Why Choose OOW PJAX?
- Targeted Use Cases: Perfect for sites with persistent media, portfolios, or dynamic content.
- SEO-Friendly: Maintains proper URLs and browser history for search engine compatibility.
- Theme-Agnostic: Works with any WordPress theme by targeting custom containers.
- Lightweight Design: No jQuery, minimal code, and optimized performance.
Discover the power of seamless navigation with OOW PJAX by OOWCODE and OOWPRESS. Visit oowcode.com/oow-pjax for full documentation.
Support
Need help? Visit the Support tab in the plugin settings or email support@oowpress.com. Full documentation is available at oowcode.com/oow-pjax.
Contribute
Contribute to OOW PJAX on GitHub or share feedback at oowcode.com.
License
OOW PJAX is licensed under the GPLv2 or later.






