[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f4TxOeqLUijYXLNqNWsEsXZCxheRajThcFSfZee3oo1Q":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":143,"fingerprints":344},"osom-multi-theme-switcher","Osom Multi Theme Switcher","1.2.2","Osom Studio WordPress and WooCommerce Agency","https:\u002F\u002Fprofiles.wordpress.org\u002Fosomstudio\u002F","\u003Cp>Osom Multi Theme Switcher lets you run multiple WordPress themes on a single site — assigning different themes to specific pages, posts, post types, categories, tags, or custom URLs.\u003C\u002Fp>\n\u003Cp>Built by \u003Ca href=\"https:\u002F\u002Fwww.osomstudio.com\" rel=\"nofollow ugc\">Osom Studio\u003C\u002Fa>, a WordPress & WooCommerce agency with 10+ years of experience managing complex multi-theme setups for clients.\u003C\u002Fp>\n\u003Cp>We built this plugin because we kept solving the same problem for clients: one WordPress installation, multiple designs. Landing pages that need a completely different look. A WooCommerce store that runs a separate theme from the corporate site. A membership area with its own design system.\u003C\u002Fp>\n\u003Cp>Instead of hacking theme conditionals into functions.php every time, we packaged our solution into a plugin.\u003C\u002Fp>\n\u003Ch4>When you need this\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Landing pages\u003C\u002Fstrong> with a unique design — without touching your main theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce stores\u003C\u002Fstrong> running a dedicated shop theme alongside a corporate theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Membership or gated sections\u003C\u002Fstrong> with a separate visual identity\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme testing\u003C\u002Fstrong> — preview a new theme on specific pages before switching site-wide\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Agencies managing multi-brand WordPress installations\u003C\u002Fstrong> from a single dashboard\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Flexible rules\u003C\u002Fstrong> — assign themes by page, post, post type, custom URL, category, or tag\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full theme loading\u003C\u002Fstrong> — the alternative theme’s functions.php loads completely, so page builders (Elementor, Divi, Beaver Builder) and custom functionality work as expected\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin theme switcher\u003C\u002Fstrong> — access settings for any installed theme directly from the admin bar\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-user admin theme\u003C\u002Fstrong> — each administrator can use their preferred dashboard theme independently\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Draft & scheduled support\u003C\u002Fstrong> — apply themes to unpublished content for preview and staging\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API support\u003C\u002Fstrong> — configure custom REST API prefixes per theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF compatible\u003C\u002Fstrong> — loads Advanced Custom Fields JSON from all active theme directories\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No code required\u003C\u002Fstrong> — set up everything through the WordPress admin panel\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Appearance > Theme Switcher\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Select a rule type (Page, Post, Post Type, Category, Tag, or Custom URL)\u003C\u002Fli>\n\u003Cli>Choose the content to target\u003C\u002Fli>\n\u003Cli>Pick the alternative theme\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Add Rule\u003C\u002Fstrong> — changes apply immediately\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The plugin hooks into WordPress on the \u003Ccode>setup_theme\u003C\u002Fcode> action, before any theme code runs. This ensures full compatibility with theme features, widgets, customizer settings, and page builders.\u003C\u002Fp>\n","Use different themes for specific pages, posts, or URLs while keeping your main theme active site-wide.",0,246,"2026-02-23T09:05:00.000Z","6.9.4","5.0","7.0",[18,19,20,21,22],"landing-page-theme","multiple-themes","theme-per-page","theme-switcher","woocommerce-theme","https:\u002F\u002Fgithub.com\u002Fosomstudio\u002Fosom-multi-theme-switcher","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fosom-multi-theme-switcher.1.2.2.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"osomstudio",1,30,94,"2026-04-04T05:29:17.524Z",[36,61,86,107,124],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":58,"download_link":59,"security_score":60,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"any-mobile-theme-switcher","Any Mobile Theme Switcher","3.2","Dnesscarkey","https:\u002F\u002Fprofiles.wordpress.org\u002Fdnesscarkey\u002F","\u003Cp>Detects all the Mobile Browsers and loads the mobile theme as per your settings done in admin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Iphone \u002F Ipod\u003C\u002Fli>\n\u003Cli>Ipad\u003C\u002Fli>\n\u003Cli>Palm Os\u003C\u002Fli>\n\u003Cli>Android\u003C\u002Fli>\n\u003Cli>Android Tab\u003C\u002Fli>\n\u003Cli>Windows Mobile\u003C\u002Fli>\n\u003Cli>Blackberry\u003C\u002Fli>\n\u003Cli>Opera Mini\u003C\u002Fli>\n\u003Cli>Others Mobile Browsers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can select a different mobile theme for each mobile browser. You can select different mobile themes for each of the options above.\u003C\u002Fp>\n\u003Cp>Any Mobile Theme Switcher Pro Features\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Works With W3 Total Cache\u003C\u002Fli>\n\u003Cli>Serve seprate home page for mobile devices.\u003C\u002Fli>\n\u003Cli>QR code for mobile bookmarking.\u003C\u002Fli>\n\u003Cli>Better Mobile Detection.\u003C\u002Fli>\n\u003Cli>Click To Call to phone numbers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Click \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fany-mobile-theme-switcher\u002Fbuy-pro-version\" title=\"Any Mobile Theme Switcher Pro\" rel=\"nofollow ugc\">here\u003C\u002Fa> for details about Any Mobile Theme Swticher Pro\u003C\u002Fp>\n\u003Cp>Please visit our own \u003Ca href=\"http:\u002F\u002Fdineshkarki.com.np\u002Fforums\u002Fforum\u002Fmobile-theme-switcher\" rel=\"nofollow ugc\">support forum\u003C\u002Fa> for any issues. We don’t respond support ticket created here.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Installation Video (Thanks to Scott Wiseman)\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FOqXhTW9FpRI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Our Other Plugins\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuse-any-font\" rel=\"ugc\">Use Any Font\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhoneypot\u002F\" rel=\"ugc\">WP Armour Anti Spam Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fjquery-validation-for-gravity-forms\" rel=\"nofollow ugc\">jQuery Validation for Gravity Forms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjquery-validation-for-contact-form-7\u002F\" rel=\"ugc\">jQuery Validation For Contact Form 7\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fblock-specific-plugin-updates\u002F\" rel=\"ugc\">Block Specific Plugin Updates\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffeatured-image-in-rss-feed\u002F\" rel=\"ugc\">Featured Image In RSS Feed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadd-tags-and-category-to-page\u002F\" rel=\"ugc\">Add Tags And Category To Page\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","This Plugin detects mobile browser and display the theme as the setting done from admin. Usefull for switch to Mobile Theme.",20000,447512,96,244,"2024-09-03T15:18:00.000Z","6.6.5","3.0","",[53,54,55,56,57],"mobile-browser-detect","mobile-detect","mobile-theme","mobile-theme-switcher","theme-redirection-based-on-mobile-device","http:\u002F\u002Fdineshkarki.com.np\u002Fany-mobile-theme-switcher","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fany-mobile-theme-switcher.3.2.zip",92,{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":14,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":81,"download_link":82,"security_score":83,"vuln_count":84,"unpatched_count":11,"last_vuln_date":85,"fetched_at":27},"theme-switcha","Theme Switcha – Easily Switch Themes for Development and Testing","3.4.3","Jeff Starr","https:\u002F\u002Fprofiles.wordpress.org\u002Fspecialk\u002F","\u003Cp>Theme switching done right.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>➡️ Preview any theme privately on the front-end\u003Cbr \u002F>\n  ➡️ Develop themes privately behind the scenes\u003Cbr \u002F>\n  ➡️ Enable your visitors to switch themes\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>There are many theme-switcher plugins but none of them provide the simplicity, performance, and reliability that I require for my own sites. So I wrote my own plugin using the WP API and kept the plugin as focused and solid as possible. Only essential theme-switching features have been added, along with a simple yet informative UI. This gives you a consistent, quality theme-switching experience that you can optionally share with your visitors.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>➡️ Switch to an alternate theme for development while visitors use the default theme 🙂\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>What it’s for..\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Theme Switcha:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enables visitors to switch themes via the frontend\u003C\u002Fli>\n\u003Cli>Enables admins to test alternate themes for debugging\u003C\u002Fli>\n\u003Cli>Enables developers to build\u002Fcustomize themes privately\u003C\u002Fli>\n\u003Cli>Enables you to create links that switch to specific themes\u003C\u002Fli>\n\u003Cli>Enables live private previews of any installed theme\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>What it’s NOT for..\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin \u003Cstrong>should not\u003C\u002Fstrong> be used together with WordPress features such as the Theme Customizer, Widgets, and Menus. Doing so may result in private changes being made public on the current active theme. \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fimportant-please-read-3\u002F\" rel=\"ugc\">Learn more\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>➡️ Theme Switcha = Best Theme Switcher for WordPress\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Plugin Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Develop new themes while visitors use the default theme\u003C\u002Fli>\n\u003Cli>Control who can switch themes (admins, w\u002F passkey, or everyone)\u003C\u002Fli>\n\u003Cli>Administrators can switch themes directly via the WP Admin Area\u003C\u002Fli>\n\u003Cli>Enable visitors to switch and preview themes on the front-end\u003C\u002Fli>\n\u003Cli>Each visitor can choose their own theme\u003C\u002Fli>\n\u003Cli>Send preview links to clients via the passkey\u003C\u002Fli>\n\u003Cli>Choose your own custom passkey code for preview links\u003C\u002Fli>\n\u003Cli>Set the duration (cookie timeout) for switched themes\u003C\u002Fli>\n\u003Cli>Enable\u002Fdisable theme preview in the Admin Area\u003C\u002Fli>\n\u003Cli>Enable\u002Fdisable all theme switching without deactivating the plugin\u003C\u002Fli>\n\u003Cli>Provides several shortcodes to enable visitors to switch themes\u003C\u002Fli>\n\u003Cli>Shortcodes display themes as a list, select menu, or thumbnails\u003C\u002Fli>\n\u003Cli>Changed options are saved when working on switched themes\u003C\u002Fli>\n\u003Cli>Dashboard widget to switch themes via select menu\u003C\u002Fli>\n\u003Cli>Simple, stylish UI featuring screenshots of each theme\u003C\u002Fli>\n\u003Cli>Works with any theme, parent themes and child themes\u003C\u002Fli>\n\u003Cli>Works with or without Gutenberg Block Editor\u003C\u002Fli>\n\u003Cli>Works with WP Multisite\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Theme Switcha makes it easy for the site admin to preview and develop new themes without changing the default theme. So visitors will continue to use your site normally without ever knowing that you are testing new themes behind the scenes. And if you want to enable your visitors to switch themes, you can do that as well by adding a shortcode to any WP Post or Page. Then each visitor will be able to select and preview any of your WordPress themes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Core Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Easy to use\u003C\u002Fli>\n\u003Cli>Squeaky clean code\u003C\u002Fli>\n\u003Cli>Simple and focused\u003C\u002Fli>\n\u003Cli>Built with the WordPress API\u003C\u002Fli>\n\u003Cli>Lightweight, fast and flexible\u003C\u002Fli>\n\u003Cli>Focused on performance and security\u003C\u002Fli>\n\u003Cli>Regularly updated and “future proof”\u003C\u002Fli>\n\u003Cli>Works great with other WordPress plugins\u003C\u002Fli>\n\u003Cli>Plugin options configurable via settings screen\u003C\u002Fli>\n\u003Cli>Plugin cleans up after itself upon uninstall\u003C\u002Fli>\n\u003Cli>One-click restore plugin default options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plus you get free, responsive support from a top WP professional 😉\u003C\u002Fp>\n\u003Cp>The Theme Switcha plugin is useful for things like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Maintenance mode\u003C\u002Fstrong> – display a temporary theme to visitors while you update your primary theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme test drive\u003C\u002Fstrong> – preview and test new themes without disrupting anything on the frontend\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Debugging Themes\u003C\u002Fstrong> – test and troubleshoot issues that may be related to the current active theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme development\u003C\u002Fstrong> – perfect for developing new theme templates to fit existing site content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Client presentations\u003C\u002Fstrong> – send clients special “theme preview” links to show off new templates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>I use Theme Switcha to develop new themes for my own sites like \u003Ca href=\"https:\u002F\u002Fperishablepress.com\u002F\" rel=\"nofollow ugc\">Perishable Press\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002F\" rel=\"nofollow ugc\">Plugin Planet\u003C\u002Fa>. The beauty of Theme Switcha is that visitors will never know that you are hard at work testing and building new themes behind the scenes 🙂\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin does not collect or store any user data. It does not set any user cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way.\u003C\u002Fp>\n\u003Cp>Theme Switcha is developed and maintained by \u003Ca href=\"https:\u002F\u002Fx.com\u002Fperishable\" rel=\"nofollow ugc\">Jeff Starr\u003C\u002Fa>, 15-year \u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002F\" rel=\"nofollow ugc\">WordPress developer\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002F\" rel=\"nofollow ugc\">book author\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support development\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I develop and maintain this free plugin with love for the WordPress community. To show support, you can \u003Ca href=\"https:\u002F\u002Fmonzillamedia.com\u002Fdonate.html\" rel=\"nofollow ugc\">make a donation\u003C\u002Fa> or purchase one of my books:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002F\" rel=\"nofollow ugc\">The Tao of WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdigwp.com\u002F\" rel=\"nofollow ugc\">Digging into WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhtaccessbook.com\u002F\" rel=\"nofollow ugc\">.htaccess made easy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-tao.com\u002Fwordpress-themes-book\u002F\" rel=\"nofollow ugc\">WordPress Themes In Depth\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbooks.perishablepress.com\u002Fdownloads\u002Fwizards-collection-sql-recipes-wordpress\u002F\" rel=\"nofollow ugc\">Wizard’s SQL Recipes for WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>And\u002For purchase one of my premium WordPress plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbbq-pro\u002F\" rel=\"nofollow ugc\">BBQ Pro\u003C\u002Fa> – Blazing fast WordPress firewall\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fblackhole-pro\u002F\" rel=\"nofollow ugc\">Blackhole Pro\u003C\u002Fa> – Automatically block bad bots\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fbanhammer-pro\u002F\" rel=\"nofollow ugc\">Banhammer Pro\u003C\u002Fa> – Monitor traffic and ban the bad guys\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fga-google-analytics-pro\u002F\" rel=\"nofollow ugc\">GA Google Analytics Pro\u003C\u002Fa> – Connect WordPress to Google Analytics\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fhead-meta-pro\u002F\" rel=\"nofollow ugc\">Head Meta Pro\u003C\u002Fa> – Ultimate Meta Tags for WordPress\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fsimple-ajax-chat-pro\u002F\" rel=\"nofollow ugc\">Simple Ajax Chat Pro\u003C\u002Fa> – Unlimited chat rooms\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugin-planet.com\u002Fusp-pro\u002F\" rel=\"nofollow ugc\">USP Pro\u003C\u002Fa> – Unlimited front-end forms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Links, tweets and likes also appreciated. Thank you! 🙂\u003C\u002Fp>\n\u003Ch3>Credit\u003C\u002Fh3>\n\u003Cp>Thanks to Ryan Boren for the original \u003Ca href=\"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fwiki\u002FThemeSwitcher\" rel=\"nofollow ugc\">Theme Switcher\u003C\u002Fa> plugin.\u003C\u002Fp>\n","Easily switch between themes for development and testing.",7000,201447,88,61,"2026-02-03T16:20:00.000Z","4.7","5.6.20",[77,78,79,80,21],"preview","switch","switcher","theme","https:\u002F\u002Fperishablepress.com\u002Ftheme-switcha\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-switcha.3.4.3.zip",98,2,"2025-04-22 00:00:00",{"slug":87,"name":88,"version":89,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":94,"downloaded":95,"rating":25,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":51,"tags":100,"homepage":104,"download_link":105,"security_score":106,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"delete-multiple-themes","Delete Multiple Themes","1.0.7","HappyPlugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fhappyplugins\u002F","\u003Cp>Many times you want to delete multiple themes at once without using your ftp program (which may take a lot of time depending on the FTP software)\u003C\u002Fp>\n\u003Cp>The “Delete Multiple Themes” plugin will enable you to do just that.\u003C\u002Fp>\n\u003Cp>You will be able to:\u003C\u002Fp>\n\u003Cp>Choose the themes you want to delete\u003Cbr \u002F>\nYou will be able see which themes has child themes installed\u003Cbr \u002F>\nAs a security measure unnecessary themes may cause security holes.\u003C\u002Fp>\n\u003Cp>If you want to improve your website security  delete all the themes that you are not using and now you can do it quickly and easily using the “Delete Multiple Themes” plugin.\u003C\u002Fp>\n\u003Cp>This Plugins is maintained by \u003Ca href=\"http:\u002F\u002Fhappyplugins.com\" rel=\"nofollow ugc\">HappyPlugins\u003C\u002Fa> your can find more plugins and coding tutorials our our websites.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdiscoverwp.co\" rel=\"nofollow ugc\">DiscoverWP.co\u003C\u002Fa> – Find & Compare WordPress plugins\u003C\u002Fp>\n","Enable the administrator to delete multiple themes in one click.",1000,25376,10,"2015-03-28T07:34:00.000Z","4.1.42","3.0.1",[101,102,103],"multiple-themes-delete","themes-delete","themes-managment","http:\u002F\u002Fhappyplugins.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdelete-multiple-themes.1.0.7.zip",85,{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":115,"downloaded":116,"rating":25,"num_ratings":117,"last_updated":118,"tested_up_to":119,"requires_at_least":120,"requires_php":51,"tags":121,"homepage":122,"download_link":123,"security_score":106,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"wp-mobilizer","WP-Mobilizer","1.0.8","KilukruMedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fkilukrumedia\u002F","\u003Cp>Mobilize your WordPress! Automatically detects all the Mobile Browsers (more than 5,000+) and loads the theme as per your settings done in admin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Iphone \u002F Ipod\u003C\u002Fli>\n\u003Cli>Ipad\u003C\u002Fli>\n\u003Cli>Android\u003C\u002Fli>\n\u003Cli>Windows Mobile\u003C\u002Fli>\n\u003Cli>Windows Phone 8\u003C\u002Fli>\n\u003Cli>Blackberry\u003C\u002Fli>\n\u003Cli>Parm Os\u003C\u002Fli>\n\u003Cli>Opera Mini\u003C\u002Fli>\n\u003Cli>Others Mobile\u002FNon-Mobile Browsers (more than 5,000+)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can select a different theme for each mobile\u002Fnon-mobile browser. WP-Mobilizer plugin also includes an installer that will configure everything automatically. All you have to do is install and activate the plugin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic detection of mobile\u002Fnon-mobile devices.\u003C\u002Fli>\n\u003Cli>Differentiates between standard mobile devices and advanced mobile devices.\u003C\u002Fli>\n\u003Cli>Detects more than 5000+ devices.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin uses the \u003Cstrong>\u003Ca href=\"http:\u002F\u002Fwww.mobileesp.com\u002F\" rel=\"nofollow ugc\">MobileESP\u003C\u002Fa>\u003C\u002Fstrong> by Anthony Hand as its detection script (under Apache License 2.0). For more information please visit our website: \u003Cstrong>\u003Ca href=\"http:\u002F\u002Fwww.wp-mobilizer.com\" rel=\"nofollow ugc\">www.wp-mobilizer.com\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n","WP-Mobilizer detects over 5,000 mobile devices and displays. You choose the theme you want for devices. Usefull for switch to Mobile Theme.",90,21530,3,"2014-02-10T15:07:00.000Z","3.6.1","3.5",[53,54,55,56,57],"http:\u002F\u002Fwww.wp-mobilizer.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-mobilizer.zip",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":83,"num_ratings":134,"last_updated":135,"tested_up_to":136,"requires_at_least":137,"requires_php":51,"tags":138,"homepage":141,"download_link":142,"security_score":106,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"wp-conditional-themes","Conditional Themes","0.6","Nashwan D","https:\u002F\u002Fprofiles.wordpress.org\u002Falex-ye\u002F","\u003Cp>Conditional Themes is an API to switch the themes on certain conditions.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Write an another plugin file and use the Conditional Themes API as the example below:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action('plugins_loaded', 'my_conditional_themes_setup', 100);\n\nfunction my_conditional_themes_setup()\n{\n    \u002F\u002F Switch to Twenty Eleven theme if the visitor use Internet Explorer.\n    Conditional_Themes_Manager::register('twentyeleven', function() {\n        global $is_IE;\n        return (bool) $is_IE;\n    });\n\n    \u002F\u002F Switch to Twenty Thirteen theme if the user has administrator role.\n    Conditional_Themes_Manager::register('twentythirteen', function() {\n        return current_user_can('administrator');\n    });\n\n    \u002F\u002F Switch to a custom theme if the visitor use a mobile device.\n    Conditional_Themes_Manager::register('mobile', 'wp_is_mobile');\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Another example, With enabling persistent mode.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action('plugins_loaded', 'my_conditional_themes_setup', 100);\n\nfunction my_conditional_themes_setup()\n{\n    \u002F\u002F Enable the switcher persistent mode.\n    Conditional_Themes_Manager::set_option('persistent', true);\n\n    \u002F\u002F Switch to Twenty Sixteen theme when we being on 2016.\n    Conditional_Themes_Manager::register('twentysixteen', function() {\n        return (date('Y') == 2016);\n    });\n\n    \u002F\u002F Switch to Twenty Fifteen theme when the site reaches 500 post.\n    Conditional_Themes_Manager::register('twentyfifteen', function() {\n        return ((int) wp_count_posts() > 500);\n    });\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note: You can use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcode-snippets\" rel=\"ugc\">Code Snippets\u003C\u002Fa> plugin to add the code snippets to your site.\u003C\u002Fp>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>Developers can contribute to the source code on the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnash-ye\u002FWP-Conditional-Themes\" rel=\"nofollow ugc\">Github Repository\u003C\u002Fa>.\u003C\u002Fp>\n","A simple API to switch the themes on certain conditions.",60,4722,9,"2019-07-19T16:18:00.000Z","5.2.24","3.4",[139,78,80,21,140],"api","themes","https:\u002F\u002Fgithub.com\u002Fnash-ye\u002FWP-Conditional-Themes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-conditional-themes.0.6.zip",{"attackSurface":144,"codeSignals":257,"taintFlows":266,"riskAssessment":338,"analyzedAt":343},{"hooks":145,"ajaxHandlers":221,"restRoutes":253,"shortcodes":254,"cronEvents":255,"entryPointCount":256,"unprotectedCount":11},[146,152,158,162,166,170,172,177,182,185,188,191,194,198,202,206,210,214,218],{"type":147,"name":148,"callback":149,"file":150,"line":151},"filter","acf\u002Fsettings\u002Fload_json","add_acf_json_load_points","includes\\class-omts-acf-loader.php",34,{"type":153,"name":154,"callback":155,"priority":25,"file":156,"line":157},"action","admin_bar_menu","add_admin_bar_menu","includes\\class-omts-admin-bar.php",40,{"type":153,"name":159,"callback":160,"file":156,"line":161},"wp_enqueue_scripts","enqueue_admin_bar_styles",41,{"type":153,"name":163,"callback":164,"file":156,"line":165},"admin_enqueue_scripts","enqueue_admin_bar_scripts",42,{"type":153,"name":167,"callback":168,"file":169,"line":157},"admin_menu","add_admin_menu","includes\\class-omts-admin-page.php",{"type":153,"name":163,"callback":171,"file":169,"line":161},"enqueue_admin_scripts",{"type":153,"name":173,"callback":174,"priority":96,"file":175,"line":176},"transition_post_status","sync_rules_on_status_change","includes\\class-omts-status-sync.php",89,{"type":153,"name":178,"callback":179,"priority":31,"file":180,"line":181},"setup_theme","setup_theme_switch","includes\\class-omts-theme-switcher.php",58,{"type":147,"name":183,"callback":184,"file":180,"line":132},"template","switch_theme_template",{"type":147,"name":186,"callback":187,"file":180,"line":72},"stylesheet","switch_theme_stylesheet",{"type":147,"name":189,"callback":184,"file":180,"line":190},"pre_option_template",62,{"type":147,"name":192,"callback":187,"file":180,"line":193},"pre_option_stylesheet",63,{"type":147,"name":195,"callback":196,"file":180,"line":197},"rest_url_prefix","filter_rest_url_prefix",64,{"type":153,"name":199,"callback":200,"priority":31,"file":180,"line":201},"init","add_custom_rest_rewrite_rules",65,{"type":153,"name":199,"callback":203,"priority":204,"file":180,"line":205},"reregister_missing_cpts",998,66,{"type":153,"name":199,"callback":207,"priority":208,"file":180,"line":209},"capture_theme_objects",999,67,{"type":147,"name":211,"callback":212,"priority":31,"file":180,"line":213},"rest_pre_dispatch","set_rest_theme_early",68,{"type":147,"name":215,"callback":216,"priority":31,"file":180,"line":217},"option_template","closure",91,{"type":147,"name":219,"callback":216,"priority":31,"file":180,"line":220},"option_stylesheet",99,[222,229,233,237,241,245,249],{"action":223,"nopriv":224,"callback":225,"hasNonce":226,"hasCapCheck":226,"file":227,"line":228},"omts_save_rules",false,"ajax_save_rules",true,"includes\\class-omts-ajax-handler.php",49,{"action":230,"nopriv":224,"callback":231,"hasNonce":226,"hasCapCheck":226,"file":227,"line":232},"omts_delete_rule","ajax_delete_rule",50,{"action":234,"nopriv":224,"callback":235,"hasNonce":226,"hasCapCheck":226,"file":227,"line":236},"omts_switch_admin_theme","ajax_switch_admin_theme",51,{"action":238,"nopriv":224,"callback":239,"hasNonce":226,"hasCapCheck":226,"file":227,"line":240},"omts_save_rest_prefix","ajax_save_rest_prefix",52,{"action":242,"nopriv":224,"callback":243,"hasNonce":226,"hasCapCheck":226,"file":227,"line":244},"omts_delete_rest_prefix","ajax_delete_rest_prefix",53,{"action":246,"nopriv":224,"callback":247,"hasNonce":226,"hasCapCheck":226,"file":227,"line":248},"omts_get_rule_objects","ajax_get_rule_objects",54,{"action":250,"nopriv":224,"callback":251,"hasNonce":226,"hasCapCheck":226,"file":227,"line":252},"omts_get_rule_items","ajax_get_rule_items",55,[],[],[],7,{"dangerousFunctions":258,"sqlUsage":259,"outputEscaping":262,"fileOperations":11,"externalRequests":11,"nonceChecks":256,"capabilityChecks":96,"bundledLibraries":265},[],{"prepared":260,"raw":11,"locations":261},36,[],{"escaped":263,"rawEcho":11,"locations":264},106,[],[],[267,285,295],{"entryPoint":268,"graph":269,"unsanitizedCount":31,"severity":284},"get_theme_for_ajax_request (includes\\class-omts-theme-switcher.php:578)",{"nodes":270,"edges":282},[271,276],{"id":272,"type":273,"label":274,"file":180,"line":275},"n0","source","$_GET",601,{"id":277,"type":278,"label":279,"file":180,"line":280,"wp_function":281},"n1","sink","get_row() [SQLi]",618,"get_row",[283],{"from":272,"to":277,"sanitized":224},"high",{"entryPoint":286,"graph":287,"unsanitizedCount":31,"severity":284},"match_preview_post_against_rules (includes\\class-omts-theme-switcher.php:1315)",{"nodes":288,"edges":293},[289,291],{"id":272,"type":273,"label":274,"file":180,"line":290},1316,{"id":277,"type":278,"label":279,"file":180,"line":292,"wp_function":281},1323,[294],{"from":272,"to":277,"sanitized":224},{"entryPoint":296,"graph":297,"unsanitizedCount":96,"severity":284},"\u003Cclass-omts-theme-switcher> (includes\\class-omts-theme-switcher.php:0)",{"nodes":298,"edges":331},[299,301,302,304,309,312,315,317,320,324,328],{"id":272,"type":273,"label":300,"file":180,"line":275},"$_GET (x2)",{"id":277,"type":278,"label":279,"file":180,"line":280,"wp_function":281},{"id":303,"type":273,"label":274,"file":180,"line":275},"n2",{"id":305,"type":278,"label":306,"file":180,"line":307,"wp_function":308},"n3","get_var() [SQLi]",937,"get_var",{"id":310,"type":273,"label":311,"file":180,"line":275},"n4","$_GET (x4)",{"id":313,"type":278,"label":306,"file":180,"line":314,"wp_function":308},"n5",1027,{"id":316,"type":273,"label":274,"file":180,"line":290},"n6",{"id":318,"type":278,"label":279,"file":180,"line":319,"wp_function":281},"n7",1658,{"id":321,"type":273,"label":322,"file":180,"line":323},"n8","$_GET (x7)",853,{"id":325,"type":326,"label":327,"file":180,"line":323},"n9","transform","→ get_page_full_path()",{"id":329,"type":278,"label":279,"file":180,"line":330,"wp_function":281},"n10",884,[332,333,334,335,336,337],{"from":272,"to":277,"sanitized":224},{"from":303,"to":305,"sanitized":224},{"from":310,"to":313,"sanitized":226},{"from":316,"to":318,"sanitized":226},{"from":321,"to":325,"sanitized":224},{"from":325,"to":329,"sanitized":224},{"summary":339,"deductions":340},"The 'osom-multi-theme-switcher' v1.2.2 plugin exhibits a generally strong security posture based on the static analysis provided. It demonstrates excellent adherence to core WordPress security best practices, with all identified SQL queries utilizing prepared statements and all output being properly escaped. The absence of dangerous functions, file operations, and external HTTP requests further contributes to its robustness. Furthermore, the plugin correctly implements nonce and capability checks on its AJAX handlers, effectively mitigating common attack vectors. The vulnerability history also shows no recorded CVEs, indicating a clean track record.\n\nHowever, the taint analysis reveals a concerning aspect. While there are no critical or high severity taint flows with unsanitized input leading to severe consequences, the presence of 3 flows with unsanitized paths, even if not categorized as critical or high, warrants attention. This suggests potential areas where user-supplied data, though not directly leading to immediate high-impact vulnerabilities in this analysis, might be processed in a way that could be manipulated under specific circumstances or in combination with other factors. The large number of flows analyzed relative to the total entry points is positive, but these unsanitized paths represent the sole identified weakness in an otherwise well-secured plugin.\n\nIn conclusion, 'osom-multi-theme-switcher' v1.2.2 is a well-developed plugin from a security perspective, with a significant emphasis on defensive coding. Its strengths lie in its secure handling of database operations and output, along with proper authentication and authorization checks. The primary area for improvement lies in addressing the identified taint flows with unsanitized paths to ensure complete input validation and sanitization across all potential data processing pathways.",[341],{"reason":342,"points":96},"Taint flows with unsanitized paths","2026-03-17T06:27:57.925Z",{"wat":345,"direct":360},{"assetPaths":346,"generatorPatterns":351,"scriptPaths":352,"versionParams":355},[347,348,349,350],"\u002Fwp-content\u002Fplugins\u002Fosom-multi-theme-switcher\u002Fassets\u002Fadmin-bar-style.css","\u002Fwp-content\u002Fplugins\u002Fosom-multi-theme-switcher\u002Fassets\u002Fadmin-bar-script.js","\u002Fwp-content\u002Fplugins\u002Fosom-multi-theme-switcher\u002Fassets\u002Fadmin-style.css","\u002Fwp-content\u002Fplugins\u002Fosom-multi-theme-switcher\u002Fassets\u002Fadmin-script.js",[],[353,354],"assets\u002Fadmin-bar-script.js","assets\u002Fadmin-script.js",[356,357,358,359],"osom-multi-theme-switcher\u002Fassets\u002Fadmin-bar-style.css?ver=1.0.0","osom-multi-theme-switcher\u002Fassets\u002Fadmin-bar-script.js?ver=1.2.1","osom-multi-theme-switcher\u002Fassets\u002Fadmin-style.css?ver=1.2.2","osom-multi-theme-switcher\u002Fassets\u002Fadmin-script.js?ver=1.2.2",{"cssClasses":361,"htmlComments":370,"htmlAttributes":371,"restEndpoints":373,"jsGlobals":375,"shortcodeOutput":378},[362,363,364,365,366,367,368,369],"omts-admin-wrap","omts-container","omts-add-rule-section","omts-rule-list-section","omts-admin-bar-menu","omts-current-indicator","omts-current-theme","omts-theme-option",[],[372],"data-rule-id",[374],"\u002Fwp-json\u002Fosom-multi-theme-switcher\u002Fv1\u002Frules",[376,377],"omtsAdminBar","omtsAjax",[]]