{
  "name": "Bonny Elangbam",
  "url": "https://bonnyelangbam.com",
  "description": "Developer articles, WordPress snippets, and plugins.",
  "content": [
    {
      "title": "A safer WordPress hook for body classes",
      "description": "Add a useful context class to the body element without coupling your theme to a page template.",
      "pubDate": "2026-08-05T00:00:00.000Z",
      "tags": [
        "wordpress",
        "php",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "8.0+",
        "wordpress": "6.4+"
      },
      "featured": true,
      "slug": "sample-wp-hook",
      "url": "https://bonnyelangbam.com/blog/sample-wp-hook/"
    },
    {
      "title": "WooCommerce's default variation dropdowns into selectable radio buttons",
      "description": "Replace WooCommerce variation dropdowns with selectable radio-button pills while keeping the native selects and variation logic intact.",
      "pubDate": "2026-06-01T00:00:00.000Z",
      "updatedDate": "2026-06-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "php",
        "javascript",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "6.0+",
        "woocommerce": "8.0+"
      },
      "featured": true,
      "slug": "woocommerces-default-variation-dropdowns-into-selectable-radio-buttons",
      "url": "https://bonnyelangbam.com/blog/woocommerces-default-variation-dropdowns-into-selectable-radio-buttons/"
    },
    {
      "title": "WordPress + AI in 2026: How to Use AI Tools to Run Your Entire Site",
      "description": "Use AI responsibly across WordPress content, SEO, support, maintenance, and operations without surrendering editorial or security control.",
      "pubDate": "2026-05-14T00:00:00.000Z",
      "updatedDate": "2026-05-14T00:00:00.000Z",
      "tags": [
        "wordpress",
        "ai",
        "seo",
        "automation",
        "guide"
      ],
      "type": "article",
      "featured": true,
      "slug": "wordpress-ai-in-2026-how-to-use-ai-tools-to-run-your-entire-site",
      "url": "https://bonnyelangbam.com/blog/wordpress-ai-in-2026-how-to-use-ai-tools-to-run-your-entire-site/"
    },
    {
      "title": "WPVibe MCP: Manage WordPress Sites with AI",
      "description": "Understand how an MCP-style WordPress connection can expose site operations to AI while keeping permissions, approvals, and backups under control.",
      "pubDate": "2026-05-10T00:00:00.000Z",
      "updatedDate": "2026-05-10T00:00:00.000Z",
      "tags": [
        "wordpress",
        "ai",
        "mcp",
        "automation",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "wpvibe-mcp-manage-wordpress-with-ai",
      "url": "https://bonnyelangbam.com/blog/wpvibe-mcp-manage-wordpress-with-ai/"
    },
    {
      "title": "Rank Math SEO: 10 Pro Hacks to Avoid Fatal Setup Mistakes",
      "description": "Configure Rank Math SEO correctly with practical setup checks for metadata, schema, redirects, sitemaps, and Elementor workflows.",
      "pubDate": "2026-03-23T00:00:00.000Z",
      "updatedDate": "2026-03-23T00:00:00.000Z",
      "tags": [
        "wordpress",
        "seo",
        "rank-math",
        "guide"
      ],
      "type": "article",
      "featured": true,
      "slug": "rank-math-seo-10-pro-hacks",
      "url": "https://bonnyelangbam.com/blog/rank-math-seo-10-pro-hacks/"
    },
    {
      "title": "Image Optimization: 10 Best Tactics to Boost Your Rankings Fast",
      "description": "Reduce WordPress image weight with better dimensions, modern formats, compression, responsive loading, and stable layout geometry.",
      "pubDate": "2026-03-16T00:00:00.000Z",
      "updatedDate": "2026-03-16T00:00:00.000Z",
      "tags": [
        "wordpress",
        "images",
        "performance",
        "seo",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "image-optimization-10-best-tactics",
      "url": "https://bonnyelangbam.com/blog/image-optimization-10-best-tactics/"
    },
    {
      "title": "Elementor Speed Optimization: 5 Power Hacks for 100/100 Scores",
      "description": "Improve Elementor performance with lean containers, optimized assets, delayed scripts, modern images, and careful plugin management.",
      "pubDate": "2026-03-09T00:00:00.000Z",
      "updatedDate": "2026-03-09T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "performance",
        "seo",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "elementor-speed-optimization-5-power-hacks",
      "url": "https://bonnyelangbam.com/blog/elementor-speed-optimization-5-power-hacks/"
    },
    {
      "title": "Custom Header Elementor: 7 Easy Steps to Build a Pro Design",
      "description": "Build a responsive Elementor header with a clear hierarchy, global styles, mobile navigation, sticky behavior, and performance in mind.",
      "pubDate": "2026-03-02T00:00:00.000Z",
      "updatedDate": "2026-03-02T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "navigation",
        "design",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "custom-header-elementor-tips",
      "url": "https://bonnyelangbam.com/blog/custom-header-elementor-tips/"
    },
    {
      "title": "5 WordPress SEO Mistakes: Stop Killing Your Organic Traffic",
      "description": "Fix five common WordPress SEO failures: weak intent, duplicate metadata, poor internal links, slow pages, and accidental indexing problems.",
      "pubDate": "2026-02-23T00:00:00.000Z",
      "updatedDate": "2026-02-23T00:00:00.000Z",
      "tags": [
        "wordpress",
        "seo",
        "content",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "5-wordpress-seo-mistakes",
      "url": "https://bonnyelangbam.com/blog/5-wordpress-seo-mistakes/"
    },
    {
      "title": "How to Use Elementor to Set Up a WordPress Maintenance Page",
      "description": "Create a useful WordPress maintenance page with Elementor while keeping visitors informed, accessible, and ready for the next step.",
      "pubDate": "2026-02-16T00:00:00.000Z",
      "updatedDate": "2026-02-16T00:00:00.000Z",
      "tags": [
        "wordpress",
        "elementor",
        "maintenance",
        "design",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "wordpress-maintenance-setup-7-best-ways",
      "url": "https://bonnyelangbam.com/blog/wordpress-maintenance-setup-7-best-ways/"
    },
    {
      "title": "WordPress Image SEO: 7 Proven Ways to Rank Higher Easily",
      "description": "Improve WordPress image SEO with useful filenames, accessible alt text, responsive formats, compression, captions, and better loading behavior.",
      "pubDate": "2026-02-09T00:00:00.000Z",
      "updatedDate": "2026-02-14T00:00:00.000Z",
      "tags": [
        "wordpress",
        "seo",
        "images",
        "performance",
        "guide"
      ],
      "type": "article",
      "featured": true,
      "slug": "wordpress-image-seo-7-proven-ways",
      "url": "https://bonnyelangbam.com/blog/wordpress-image-seo-7-proven-ways/"
    },
    {
      "title": "Top 5 Speed Engines: The Best WordPress Caching Plugins 2026",
      "description": "Compare WordPress caching approaches by page cache, browser cache, asset optimization, CDN support, and operational simplicity.",
      "pubDate": "2026-02-02T00:00:00.000Z",
      "updatedDate": "2026-02-14T00:00:00.000Z",
      "tags": [
        "wordpress",
        "caching",
        "performance",
        "seo",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "wordpress-caching-plugins-2026-guide",
      "url": "https://bonnyelangbam.com/blog/wordpress-caching-plugins-2026-guide/"
    },
    {
      "title": "Elementor Free vs Pro: Why Your Choice Dictates Your Business Growth",
      "description": "Compare Elementor Free and Pro by templates, forms, dynamic content, theme building, WooCommerce tools, and long-term maintenance.",
      "pubDate": "2026-01-26T00:00:00.000Z",
      "updatedDate": "2026-02-09T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "design",
        "ecommerce",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "elementor-free-vs-pro-2026-guide",
      "url": "https://bonnyelangbam.com/blog/elementor-free-vs-pro-2026-guide/"
    },
    {
      "title": "Elementor Flexbox Containers: Speed Up Your Workflow",
      "description": "Use Elementor Flexbox Containers to build cleaner responsive layouts with less nesting and more predictable alignment.",
      "pubDate": "2026-01-19T00:00:00.000Z",
      "updatedDate": "2026-01-19T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "css",
        "performance",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "elementor-flexbox-containers",
      "url": "https://bonnyelangbam.com/blog/elementor-flexbox-containers/"
    },
    {
      "title": "Elementor Pro Widgets 2026: Ultimate Advanced Design Guide",
      "description": "A practical guide to Elementor Pro widgets for theme building, dynamic content, forms, popups, motion, and WooCommerce layouts.",
      "pubDate": "2025-12-22T00:00:00.000Z",
      "updatedDate": "2025-12-22T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "woocommerce",
        "design",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "elementor-pro-widgets-2026-advanced-guide",
      "url": "https://bonnyelangbam.com/blog/elementor-pro-widgets-2026-advanced-guide/"
    },
    {
      "title": "IdentityMirror | Sync Customizer Logo to Login",
      "description": "Keep the WordPress login logo in sync with the logo configured in the Customizer with a lightweight, GPL-licensed plugin.",
      "pubDate": "2025-12-15T00:00:00.000Z",
      "updatedDate": "2025-12-20T00:00:00.000Z",
      "tags": [
        "wordpress",
        "plugin",
        "branding",
        "login"
      ],
      "compatibility": {
        "wordpress": ">= 6.0"
      },
      "downloadUrl": "https://wordpress.org/plugins/identity-mirror/",
      "image": "/images/plugins/identitymirror-banner.webp",
      "type": "plugin",
      "slug": "identity-mirror",
      "url": "https://bonnyelangbam.com/plugin/identity-mirror/"
    },
    {
      "title": "Disable XML-RPC in WordPress (Crucial Security Fix)",
      "description": "Disable the legacy WordPress XML-RPC API when your site does not use the mobile app or Jetpack, reducing an unnecessary brute-force attack surface.",
      "pubDate": "2025-12-03T00:00:00.000Z",
      "updatedDate": "2025-12-03T00:00:00.000Z",
      "tags": [
        "wordpress",
        "php",
        "security",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+"
      },
      "featured": true,
      "slug": "disable-xml-rpc-crucial-security-fix",
      "url": "https://bonnyelangbam.com/blog/disable-xml-rpc-crucial-security-fix/"
    },
    {
      "title": "Elementor Guide for Beginners: Master WordPress Design",
      "description": "Learn Elementor fundamentals: containers, widgets, responsive controls, templates, and a repeatable page-building workflow.",
      "pubDate": "2025-12-01T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "design",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "elementor-guide-for-beginners",
      "url": "https://bonnyelangbam.com/blog/elementor-guide-for-beginners/"
    },
    {
      "title": "QuantityPro for WooCommerce",
      "description": "Add intuitive plus and minus quantity controls to WooCommerce product and cart quantity fields while respecting product minimum and maximum limits.",
      "pubDate": "2025-11-28T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "plugin",
        "ecommerce"
      ],
      "compatibility": {
        "wordpress": ">= 6.0",
        "woocommerce": ">= 8.0"
      },
      "downloadUrl": "https://wordpress.org/plugins/quantitypro-for-woocommerce/",
      "image": "/images/plugins/quantitypro-screenshot.webp",
      "type": "plugin",
      "slug": "quantitypro-for-woocommerce",
      "url": "https://bonnyelangbam.com/plugin/quantitypro-for-woocommerce/"
    },
    {
      "title": "How to Buy a Domain and Hosting: A Beginner's Guide",
      "description": "Choose a domain, compare hosting, connect DNS, activate SSL, and establish a reliable foundation for a WordPress website.",
      "pubDate": "2025-11-24T00:00:00.000Z",
      "updatedDate": "2025-11-24T00:00:00.000Z",
      "tags": [
        "wordpress",
        "hosting",
        "domains",
        "performance",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "buy-a-domain-and-hosting-a-beginners-guide",
      "url": "https://bonnyelangbam.com/blog/buy-a-domain-and-hosting-a-beginners-guide/"
    },
    {
      "title": "WordPress.com vs WordPress.org: Which One Do You Actually Need?",
      "description": "Compare WordPress.com and self-hosted WordPress.org by ownership, plugins, themes, cost, maintenance, and ecommerce flexibility.",
      "pubDate": "2025-11-17T00:00:00.000Z",
      "updatedDate": "2026-02-09T00:00:00.000Z",
      "tags": [
        "wordpress",
        "hosting",
        "ecommerce",
        "guide"
      ],
      "type": "article",
      "featured": false,
      "slug": "wordpress-com-vs-wordpress-org",
      "url": "https://bonnyelangbam.com/blog/wordpress-com-vs-wordpress-org/"
    },
    {
      "title": "How to Build a WordPress Website in 2026",
      "description": "A practical WordPress build process covering planning, hosting, themes, content, performance, security, SEO, and responsible AI-assisted workflows.",
      "pubDate": "2025-11-10T00:00:00.000Z",
      "updatedDate": "2026-02-09T00:00:00.000Z",
      "tags": [
        "wordpress",
        "seo",
        "performance",
        "security",
        "guide"
      ],
      "type": "article",
      "featured": true,
      "slug": "how-to-build-a-wordpress-website-in-2026",
      "url": "https://bonnyelangbam.com/blog/how-to-build-a-wordpress-website-in-2026/"
    },
    {
      "title": "Display In Stock or Out of Stock Status on WooCommerce Product Pages",
      "description": "Show a tailored In Stock or Out of Stock message on WooCommerce product pages using the product's real stock status.",
      "pubDate": "2025-10-30T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "php",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+",
        "woocommerce": "3.0+"
      },
      "featured": true,
      "slug": "woocommerce-instock-out-of-stock-display-to-product-page",
      "url": "https://bonnyelangbam.com/blog/woocommerce-instock-out-of-stock-display-to-product-page/"
    },
    {
      "title": "Disable Flat Rate When Free Shipping Is Available in WooCommerce",
      "description": "Hide WooCommerce flat-rate methods whenever a free-shipping method is available in the current package.",
      "pubDate": "2025-08-25T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "php",
        "shipping",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+",
        "woocommerce": "3.0+"
      },
      "featured": false,
      "slug": "disable-flat-rate-if-free-shipping-is-available-woocommerce",
      "url": "https://bonnyelangbam.com/blog/disable-flat-rate-if-free-shipping-is-available-woocommerce/"
    },
    {
      "title": "Elementor Form HTML Email Template",
      "description": "A responsive HTML email template for Elementor Forms with name, phone, email, and message fields.",
      "pubDate": "2025-08-19T00:00:00.000Z",
      "updatedDate": "2025-12-03T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "html",
        "email",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "wordpress": "5.0+"
      },
      "featured": false,
      "slug": "elementor-form-html-template",
      "url": "https://bonnyelangbam.com/blog/elementor-form-html-template/"
    },
    {
      "title": "Register New WordPress Users with Elementor Form Approval",
      "description": "Create WooCommerce customer accounts from an Elementor Pro form, add an admin approval column, and block login until approval.",
      "pubDate": "2025-08-14T00:00:00.000Z",
      "updatedDate": "2025-12-03T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "woocommerce",
        "php",
        "users",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+",
        "woocommerce": "3.0+"
      },
      "featured": false,
      "slug": "elementor-form-to-register-as-new-user-with-approval-feature-with-custom-user-role",
      "url": "https://bonnyelangbam.com/blog/elementor-form-to-register-as-new-user-with-approval-feature-with-custom-user-role/"
    },
    {
      "title": "Allow Only a 10-Digit Number in an Elementor Tel Field",
      "description": "Restrict an Elementor telephone field to digits and validate exactly 10 numbers before the form submits.",
      "pubDate": "2025-08-14T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "elementor",
        "wordpress",
        "javascript",
        "forms",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "wordpress": "5.0+"
      },
      "featured": false,
      "slug": "js-to-allow-only-10-digit-number-in-tel-field-form-elementor",
      "url": "https://bonnyelangbam.com/blog/js-to-allow-only-10-digit-number-in-tel-field-form-elementor/"
    },
    {
      "title": "Add WooCommerce Support to a WordPress Theme",
      "description": "Declare WooCommerce support in a classic WordPress theme with the after_setup_theme hook.",
      "pubDate": "2025-08-11T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "php",
        "themes",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+",
        "woocommerce": "3.0+"
      },
      "featured": false,
      "slug": "theme-to-support-woocomerce",
      "url": "https://bonnyelangbam.com/blog/theme-to-support-woocomerce/"
    },
    {
      "title": "Remove Product Images When Deleting WooCommerce Products",
      "description": "Delete a WooCommerce product's featured image and gallery attachments when the product is permanently deleted.",
      "pubDate": "2025-05-20T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "woocommerce",
        "wordpress",
        "php",
        "media",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+",
        "woocommerce": "3.0+"
      },
      "featured": false,
      "slug": "how-to-remove-unused-woocommerce-images-from-your-woocommerce-store",
      "url": "https://bonnyelangbam.com/blog/how-to-remove-unused-woocommerce-images-from-your-woocommerce-store/"
    },
    {
      "title": "Replace the WordPress Logo on the Login Page",
      "description": "Use the logo from WordPress Customizer settings on the login screen, with a fallback to the default WordPress logo.",
      "pubDate": "2025-05-20T00:00:00.000Z",
      "updatedDate": "2025-12-01T00:00:00.000Z",
      "tags": [
        "wordpress",
        "php",
        "branding",
        "login",
        "snippet"
      ],
      "type": "article",
      "compatibility": {
        "php": "7.4+",
        "wordpress": "5.0+"
      },
      "featured": false,
      "slug": "replacing-wordpress-logo-on-login-page",
      "url": "https://bonnyelangbam.com/blog/replacing-wordpress-logo-on-login-page/"
    }
  ]
}