[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fzYhqHR03aHynCzEDfXCBhh7bll8-VHgnJpEY6xaTCxc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":138,"fingerprints":407},"rnwp-app-template-config","RNWP App template config","1.0.1","mkhaledche","https:\u002F\u002Fprofiles.wordpress.org\u002Fmkhaledche\u002F","\u003Cp>This plugin facilitates building a mobile app for your website on both Android and IOS platforms either with the help of \u003Ca href=\"https:\u002F\u002Fwww.codester.com\u002Fitems\u002F26420\u002Frnwp-react-native-template-for-wordpress-sites?ref=mkhaledche\" rel=\"nofollow ugc\">RNWP template\u003C\u002Fa> or through a custom template using the REST API routes and functionalities provided by this plugin.\u003C\u002Fp>\n\u003Cp>Through this plugin, a REST API to search over the post types chosen by the user is supported. The default WordPress REST API \u003Ccode>{post_type}\u003C\u002Fcode> route searches only through one post type. The default \u003Ccode>search\u003C\u002Fcode> route doesn\\’t return the post content. So this plugin registers a rest route that can search more than one post type and return the post title, content, and excerpt for all posts relevant to this search. The rest route can be accessed by going to this link: \u003Ccode>your-website.com\u002Fwp-json\u002Fsearch\u002Fv1\u002Fsearch\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>The search rest route has two parameters; the parameter \u003Ccode>per_page\u003C\u002Fcode> can be adjusted in the plugin admin dashboard. The \u003Ccode>keyword\u003C\u002Fcode> parameter shall be related to the search text.\u003C\u002Fp>\n\u003Cp>As the WordPress default, REST API limits the post query to 100 post objects. If the website has more than 100 posts to download, the user can adjust the plugin to download the number of posts he wishes and the limit can be more than 100 post objects.\u003C\u002Fp>\n\u003Cp>If the user is using Woocommerce, this plugin ensures the product categories and tags will have a REST API so that the app can access them.\u003C\u002Fp>\n\u003Cp>This plugin shall help the user of \u003Ca href=\"https:\u002F\u002Fboostrand.gumroad.com\u002Fl\u002Frnwp\" rel=\"nofollow ugc\">RNWP template\u003C\u002Fa> configure his mobile app preferences without the need to write code.\u003C\u002Fp>\n\u003Cp>The User can adjust the main URL for his app (will help for multilingual websites), post types or taxonomies to be shown, the number of posts per page, app custom texts (e.g. screen, settings, and notification messages), light and dark mode colors, contact details and social links, Admob settings and many other settings.\u003C\u002Fp>\n\u003Cp>After adjusting the website preferences, the user can copy the generated code to the app template and the app would be ready to be built.\u003C\u002Fp>\n","This plugin adds search functionality through REST API over all enabled post types and adjust the maximum numbers of posts to fetch through the REST A &hellip;",10,7604,0,"2022-04-24T20:46:00.000Z","5.9.13","1.0.0","7.0",[19,20,21,22,23],"android","ios","mobile-app","react-native","rest-api","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frnwp-app-template-config.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},2,20,30,84,"2026-04-04T17:44:20.480Z",[37,61,83,101,119],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":13,"last_vuln_date":60,"fetched_at":28},"wpappninja","WPMobile.App","11.75","Amauri","https:\u002F\u002Fprofiles.wordpress.org\u002Famauric\u002F","\u003Ch4>Android and iOS mobile app\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>💳 \u003Cstrong>LIFETIME LICENCE\u003C\u002Fstrong> – No subscription, no hidden fees.\u003Cbr \u002F>\n\u003Cem>Android 129€ \u002F\u002F iOS 129€ \u002F\u002F Android + iOS 239€\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>🎉 \u003Cstrong>FREE TEST\u003C\u002Fstrong> – You can test your mobile app \u003Ca href=\"https:\u002F\u002Fwpmobile.app\u002Fen\u002Ftest-my-app\u002F\" rel=\"nofollow ugc\">with the demo app\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>🖌 \u003Cstrong>CUSTOMIZATION\u003C\u002Fstrong> – No mention of our brand or advertisement, the mobile app is white-labeled.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>📲 \u003Cstrong>GREAT COMPATIBILITY\u003C\u002Fstrong> – The mobile apps is compatible with smartphones and tablets, always up-to-date.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>👌 \u003Cstrong>VERY EASY PUBLISH\u003C\u002Fstrong> – I take care of all the technical work, no software to download or complicated manipulation to do.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>💬 \u003Cstrong>SUPPORT TEAM\u003C\u002Fstrong> – I’m here to help and answer all your requests as quickly as possible.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>👍 \u003Cstrong>AUTOMATIC APP UPDATE\u003C\u002Fstrong> – When new content is released, the application is automatically updated.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>📢 \u003Cstrong>NOTIFICATIONS\u003C\u002Fstrong> – Unlimited push notification: manually or with automated push.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>📈 \u003Cstrong>REAL-TIME STATISTICS\u003C\u002Fstrong> – Stats about the app usage, all statistics are real-time and hosted on your site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Android and iOS mobile application. Easy setup, free test.",4000,551250,96,161,"2025-12-02T15:54:00.000Z","6.9.4","3.7.0","5.6",[19,54,20,55,21],"android-app","ios-app","https:\u002F\u002Fwpmobile.app\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpappninja.zip",89,9,"2025-10-26 00:00:00",{"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":50,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":24,"download_link":82,"security_score":71,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"mobile-smart-app-banner","Mobile Smart App Banner","1.0.7","Jose Varghese","https:\u002F\u002Fprofiles.wordpress.org\u002Fjosevarghese\u002F","\u003Cp>\u003Cstrong>Turn Mobile Website Traffic Into App Downloads With Professional Smart App Banners\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Have you ever wondered how many of your mobile website visitors would download your app if they knew it existed? \u003Cstrong>Mobile Smart App Banner\u003C\u002Fstrong> solves this critical conversion challenge by displaying intelligent, conversion-optimized banners that turn casual mobile visitors into engaged app users.\u003C\u002Fp>\n\u003Cp>Research shows that mobile app conversion rates average around 25% when users discover apps through optimized promotional strategies. This plugin bridges the gap between your mobile website traffic and app store downloads by presenting the right opportunity at the perfect moment.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Perfect for businesses with both web presence and mobile apps seeking to:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Maximize app downloads from existing website traffic\u003Cbr \u002F>\n* Bridge the conversion gap between website visits and app installations\u003Cbr \u002F>\n* Increase user engagement through mobile app promotion\u003Cbr \u002F>\n* Provide seamless user experience across web and mobile platforms\u003C\u002Fp>\n\u003Ch4>Key Features & Advantages\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>🚀 Intelligent Platform Detection\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automatically detects iOS and Android devices\u003Cbr \u002F>\n* Shows appropriate app store links (App Store for iOS, Google Play for Android)\u003Cbr \u002F>\n* Smart browser detection for optimal user experience\u003Cbr \u002F>\n* Works seamlessly across all mobile devices and screen sizes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📱 Dual Banner System for Maximum Compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Custom Smart App Banner\u003C\u002Fstrong>: Works on all mobile browsers with full customization\u003Cbr \u002F>\n* \u003Cstrong>iOS Native Smart App Banner\u003C\u002Fstrong>: Leverages Apple’s built-in system for Safari users\u003Cbr \u002F>\n* \u003Cstrong>Intelligent Fallback\u003C\u002Fstrong>: Shows custom banner on non-Safari iOS browsers even when iOS Smart Banner is enabled\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Complete Visual Customization\u003C\u002Fstrong>\u003Cbr \u002F>\n* Customizable colors (background, button, text, close button)\u003Cbr \u002F>\n* Upload custom app icons directly from WordPress Media Library\u003Cbr \u002F>\n* Adjustable font sizes for app name and subtitle\u003Cbr \u002F>\n* Flexible banner positioning (top or bottom of screen)\u003Cbr \u002F>\n* Real-time preview in admin dashboard\u003C\u002Fp>\n\u003Cp>\u003Cstrong>⚡ Performance & User Experience Optimized\u003C\u002Fstrong>\u003Cbr \u002F>\n* Lightweight code with minimal impact on site speed\u003Cbr \u002F>\n* Mobile-exclusive display (zero disruption for desktop users)\u003Cbr \u002F>\n* Smooth animations and professional appearance\u003Cbr \u002F>\n* Easy dismissal with intelligent preference memory\u003Cbr \u002F>\n* Cookie-based user preference system (7-day memory)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔧 Developer & Marketer Friendly\u003C\u002Fstrong>\u003Cbr \u002F>\n* Zero-code setup and configuration\u003Cbr \u002F>\n* Works automatically across your entire website\u003Cbr \u002F>\n* No programming knowledge required\u003Cbr \u002F>\n* SEO-friendly implementation\u003Cbr \u002F>\n* Compatible with all WordPress themes\u003C\u002Fp>\n\u003Ch4>How iOS Smart App Banner Works\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Understanding the Dual Approach:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. iOS Native Smart App Banner (Safari Only)\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen enabled, this feature adds Apple’s official \u003Ccode>apple-itunes-app\u003C\u002Fcode> meta tag to your website. This creates the native iOS Smart App Banner that appears \u003Cstrong>automatically at the top of Safari\u003C\u002Fstrong> on iOS devices.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important: iOS Smart Banner Behavior\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Position\u003C\u002Fstrong>: Always appears at the TOP of the page (controlled by iOS Safari, not customizable)\u003Cbr \u002F>\n* \u003Cstrong>Design\u003C\u002Fstrong>: Uses Apple’s native design (cannot be customized)\u003Cbr \u002F>\n* \u003Cstrong>Display\u003C\u002Fstrong>: Automatically managed by Safari (we cannot control when\u002Fhow it appears)\u003Cbr \u002F>\n* \u003Cstrong>Dismissal\u003C\u002Fstrong>: Users can dismiss it, and Safari remembers their preference\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Benefits of iOS Native Smart App Banner:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Seamless integration with iOS ecosystem\u003Cbr \u002F>\n* High conversion rates due to familiar Apple interface\u003Cbr \u002F>\n* Automatic app detection and “Open” button if app is already installed\u003Cbr \u002F>\n* Professional appearance matching iOS design standards\u003Cbr \u002F>\n* Trusted by users as it’s Apple’s official system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Custom Smart App Banner (All Browsers)\u003C\u002Fstrong>\u003Cbr \u002F>\nOur custom banner works on ALL mobile browsers and provides extensive customization options.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Intelligent Fallback System:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Safari on iOS + iOS Smart Banner enabled\u003C\u002Fstrong>: Shows native Apple Smart App Banner (top position, Apple-controlled)\u003Cbr \u002F>\n* \u003Cstrong>Chrome\u002FFirefox\u002FOpera\u002FEdge on iOS + iOS Smart Banner enabled\u003C\u002Fstrong>: Shows custom banner (your positioning choice)\u003Cbr \u002F>\n* \u003Cstrong>Any browser + iOS Smart Banner disabled\u003C\u002Fstrong>: Shows custom banner (your positioning choice)\u003Cbr \u002F>\n* \u003Cstrong>Android devices\u003C\u002Fstrong>: Always shows custom banner (your positioning choice)\u003C\u002Fp>\n\u003Cp>This ensures every mobile visitor sees an appropriate app promotion banner regardless of their browser choice, while respecting Apple’s native implementation in Safari.\u003C\u002Fp>\n\u003Ch4>Complete Feature List\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>📋 General Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Enable\u002Fdisable banner with one click\u003Cbr \u002F>\n* Mobile device detection and targeting\u003Cbr \u002F>\n* Customizable app name and subtitle\u003Cbr \u002F>\n* Custom download button text\u003Cbr \u002F>\n* Support for both iOS and Android apps\u003Cbr \u002F>\n* Banner position control (top\u002Fbottom)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Design & Customization:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Custom app icon upload\u003Cbr \u002F>\n* Background color customization\u003Cbr \u002F>\n* Download button color customization\u003Cbr \u002F>\n* Button text color customization\u003Cbr \u002F>\n* Text color customization\u003Cbr \u002F>\n* Close button color customization\u003Cbr \u002F>\n* Font size controls for app name and subtitle\u003Cbr \u002F>\n* Real-time preview in admin panel\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📱 Platform-Specific Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* iOS App Store link configuration\u003Cbr \u002F>\n* Google Play Store link configuration\u003Cbr \u002F>\n* iOS Smart App Banner integration\u003Cbr \u002F>\n* App Store ID configuration for native iOS banner\u003Cbr \u002F>\n* Intelligent browser detection\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔧 Advanced Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Cookie-based user preference memory\u003Cbr \u002F>\n* 7-day dismissal memory\u003Cbr \u002F>\n* Automatic body padding adjustment\u003Cbr \u002F>\n* Admin bar compatibility\u003Cbr \u002F>\n* Responsive design for all screen sizes\u003Cbr \u002F>\n* WordPress admin integration\u003C\u002Fp>\n\u003Ch4>Installation & Quick Setup\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Step 1: Install the Plugin\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Upload the plugin to \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory\u003Cbr \u002F>\n2. Activate through the ‘Plugins’ menu in WordPress\u003Cbr \u002F>\n3. Go to Settings > Mobile Smart App Banner\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Step 2: Basic Configuration\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Enable the app banner\u003Cbr \u002F>\n2. Upload your app icon (recommended: 512x512px)\u003Cbr \u002F>\n3. Enter your app name and description\u003Cbr \u002F>\n4. Add your App Store and\u002For Google Play Store links\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Step 3: Customize Appearance\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Choose banner position (top or bottom)\u003Cbr \u002F>\n2. Customize colors to match your brand\u003Cbr \u002F>\n3. Adjust font sizes as needed\u003Cbr \u002F>\n4. Preview your banner in real-time\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Step 4: iOS Smart Banner (Optional)\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Enable iOS Smart App Banner if desired\u003Cbr \u002F>\n2. Enter your App Store ID\u003Cbr \u002F>\n3. Understand that this creates Apple’s native banner at the top of Safari (position and design controlled by iOS)\u003Cbr \u002F>\n4. Your custom banner will still show on non-Safari iOS browsers with your chosen positioning\u003C\u002Fp>\n\u003Ch4>Configuration Guide\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Basic Settings Configuration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Enable App Banner\u003C\u002Fstrong>: Toggle to activate\u002Fdeactivate the banner\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Icon\u003C\u002Fstrong>: Upload a high-quality icon (512x512px recommended)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Banner Position\u003C\u002Fstrong>: Choose top or bottom placement\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Name\u003C\u002Fstrong>: Enter your mobile app’s name\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Name Size\u003C\u002Fstrong>: Set font size (8-30px)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Subtitle\u003C\u002Fstrong>: Brief, compelling description\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Subtitle Size\u003C\u002Fstrong>: Set font size (8-24px)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download Button Text\u003C\u002Fstrong>: Customize button text (e.g., “Download”, “Get App”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Store Link\u003C\u002Fstrong>: Full iOS App Store URL\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Play Store Link\u003C\u002Fstrong>: Full Google Play Store URL\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>iOS Smart App Banner Configuration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Enable iOS Smart App Banner\u003C\u002Fstrong>: Activates Apple’s native banner for Safari\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Store ID\u003C\u002Fstrong>: Numeric ID from your App Store listing\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>To find your App Store ID:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Visit \u003Ca href=\"https:\u002F\u002Ftools.applemediaservices.com\u002Fapp-store\" rel=\"nofollow ugc\">Apple’s App Store Marketing Tools\u003C\u002Fa>\u003Cbr \u002F>\n* Search for your app and select it\u003Cbr \u002F>\n* Copy the number between \u003Ccode>id\u003C\u002Fcode> and \u003Ccode>?\u003C\u002Fcode> in the Content Link\u003Cbr \u002F>\n* Alternative: Find it in App Store Connect under General > App Information\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Color Customization:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Banner Background Color\u003C\u002Fstrong>: Main banner background\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download Button Background Color\u003C\u002Fstrong>: Button background\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download Button Text Color\u003C\u002Fstrong>: Text color on button\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text Color\u003C\u002Fstrong>: Color for app name and subtitle\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Close Button Color\u003C\u002Fstrong>: Color for the X close button\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Best Practices for Maximum Downloads\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>1. Compelling App Information\u003C\u002Fstrong>\u003Cbr \u002F>\n* Use clear, benefit-focused app name\u003Cbr \u002F>\n* Write compelling subtitle highlighting key value proposition\u003Cbr \u002F>\n* Keep text concise and action-oriented\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Visual Design\u003C\u002Fstrong>\u003Cbr \u002F>\n* Use high-quality app icon that matches your brand\u003Cbr \u002F>\n* Choose colors that complement your website design\u003Cbr \u002F>\n* Ensure sufficient contrast for readability\u003Cbr \u002F>\n* Test on various devices and screen sizes\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Strategic Positioning\u003C\u002Fstrong>\u003Cbr \u002F>\n* Bottom placement often performs better (less intrusive)\u003Cbr \u002F>\n* Top placement works well for content-heavy sites\u003Cbr \u002F>\n* Consider your website’s navigation structure\u003C\u002Fp>\n\u003Cp>\u003Cstrong>4. iOS Smart Banner Strategy\u003C\u002Fstrong>\u003Cbr \u002F>\n* Enable for maximum Safari iOS conversion\u003Cbr \u002F>\n* Understand that custom banner will show on other iOS browsers\u003Cbr \u002F>\n* This provides comprehensive iOS coverage\u003C\u002Fp>\n\u003Cp>\u003Cstrong>5. Store Link Optimization\u003C\u002Fstrong>\u003Cbr \u002F>\n* Use direct, working links to your app store pages\u003Cbr \u002F>\n* Test links regularly to ensure they work\u003Cbr \u002F>\n* Consider using short, branded URLs for analytics\u003C\u002Fp>\n\u003Ch4>Love this plugin?\u003C\u002Fh4>\n\u003Cp>If this plugin has helped you increase your app downloads, please consider \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fjosevarghese\" rel=\"nofollow ugc\">buying me a coffee\u003C\u002Fa> to support its development.\u003C\u002Fp>\n","Transform your mobile website visitors into app users with intelligent smart app banners that boost downloads across iOS and Android devices.",200,1675,100,1,"2026-03-06T17:39:00.000Z","5.0","7.2",[77,78,79,80,81],"android-app-banner","app-install-banner","ios-app-banner","mobile-app-promotion","smart-app-banner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmobile-smart-app-banner.1.0.7.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":69,"downloaded":91,"rating":92,"num_ratings":59,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":24,"tags":96,"homepage":99,"download_link":100,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"wp-appkit","WP-AppKit – Mobile apps and PWA for WordPress","1.6.0","Uncategorized Creations","https:\u002F\u002Fprofiles.wordpress.org\u002Funcategorized-creations\u002F","\u003Cp>\u003Cstrong>Important ✋\u003C\u002Fstrong>: beginning with version 1.5.3, we don’t support anymore native iOS app. This is a tough choice \u003Ca href=\"https:\u002F\u002Funcategorized-creations.com\u002F4550\u002Fdropping-ios-support-%F0%9F%98%B1\u002F\" rel=\"nofollow ugc\">we explain here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Progressive web apps\u003C\u002Fstrong>: support for progressive web applications (PWA) has been added to 1.5x release. PWA are a new way to deliver fast, reliable and great experience on the web notably for mobiles. They allow to create apps accessible as websites that you can install and access as traditionnal mobile apps.\u003C\u002Fp>\n\u003Cp>A great way to build progressive web apps (PWA) and mobile apps for your WordPress site using your favorite technologies: JavaScript, HTML and CSS.\u003C\u002Fp>\n\u003Cp>Progressive web apps (PWA) and mobile applications are a great way to offer an outstanding mobile experience for your users. Using push notifications, letting users read offline, using saved accounts to share content are among many wonderful things you can do with mobile applications.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Build with Cordova or VoltBuilder\u003C\u002Fstrong>: Since October 2020, Adobe has discontinued PhoneGap Build and ended investment in PhoneGap, so PhoneGap Build cannot be used to build WP-AppKit apps anymore. But as of version 1.6.0, WP-AppKit allows to build apps with raw Cordova tools or VoltBuilder online service.\u003C\u002Fp>\n\u003Ch4>The Toolkit You Need to Build Your App\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Native support of WordPress\u003C\u002Fstrong>: custom post types, custom fields, custom taxonomies, comments, secured authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full support of progressive web apps (PWA)\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Android support\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cordova\u003C\u002Fstrong>: use JavaScript, HTML and CSS to build apps\u003C\u002Fli>\n\u003Cli>\u003Cstrong>VoltBuilder\u003C\u002Fstrong>: Easy online compilation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Themes\u003C\u002Fstrong>: create app themes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable\u003C\u002Fstrong>: hook into our API to add the features you need\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get a look at all \u003Ca href=\"https:\u002F\u002Funcategorized-creations.com\u002Ffeatures\u002F?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin_readme\" rel=\"nofollow ugc\">available features\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Getting Started\u003C\u002Fh4>\n\u003Cp>Even if you are familiar with development, building your first PWA or mobile app can be intimidating. We know that, we’ve been there before 🙂\u003C\u002Fp>\n\u003Cp>For that, we have tutorials and documentation that will guide you through the process:\u003Cbr \u002F>\n* to create your first PWA\u003Cbr \u002F>\n* to have your first app connected to your WordPress site installed on your phone.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F3yed8t\" rel=\"nofollow ugc\">WP-AppKit Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>You can also check this video that shows in 5 minutes what you will achieve thanks to the \u003Cem>Getting Started\u003C\u002Fem> tutorial.\u003C\u002Fp>\n\u003Cp>\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\u002Ft6KwLxuoZ2g?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\u003Ch4>App Themes: a Flexible Way To Build Apps\u003C\u002Fh4>\n\u003Cp>WP-AppKit supports JavaScript based PWA and app themes. We provide 2 default sister themes named \u003Cem>Q for iOS\u003C\u002Fem> and \u003Cem>Q for Android\u003C\u002Fem>. These themes are installed with the plugin. You can  also develop your own themes.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=fSQVx8-rqCY\" rel=\"nofollow ugc\">Q for Android\u003C\u002Fa> (video)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation and Tutorials\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F6EW93W\" rel=\"nofollow ugc\">Complete documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FvKxBFD\" rel=\"nofollow ugc\">Tutorials\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Funcatcrea\u002Fwp-appkit\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Support and add-ons for WP-AppKit\u003C\u002Fstrong> If you need to get further with WP-AppKit, we offer a \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FpqfNjm\" rel=\"nofollow ugc\">paid support\u003C\u002Fa> for advanced topics and convenient \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002F5oisKB\" rel=\"nofollow ugc\">add-ons\u003C\u002Fa> to integrate specific features (eg. push notifications).\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>More information at \u003Ca href=\"https:\u002F\u002Fgoo.gl\u002FpEYAE4\" rel=\"nofollow ugc\">getwpappkit.com\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n","Important ✋: beginning with version 1.5.3, we don't support anymore native iOS app. This is a tough choice we explain here.",37683,88,"2020-10-27T13:03:00.000Z","5.5.18","4.0",[19,20,21,97,98],"progressive-web-app","pwa","https:\u002F\u002Fgithub.com\u002Funcatcrea\u002Fwp-appkit","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-appkit.1.6.0.zip",{"slug":102,"name":103,"version":16,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":110,"num_ratings":111,"last_updated":112,"tested_up_to":113,"requires_at_least":114,"requires_php":24,"tags":115,"homepage":24,"download_link":118,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"ideapress-json-api","IdeaPress – Turn WordPress into Mobile Apps (Android, iPhone, WinPhone)","michaelsiu","https:\u002F\u002Fprofiles.wordpress.org\u002Fmichaelsiu\u002F","\u003Cp>\u003Ca href=\"http:\u002F\u002Fideapress.me\u002Fturn-wordpress-into-mobile-app.html\" rel=\"nofollow ugc\">IdeaPress\u003C\u002Fa> convert your wordpress (both wordpress.com and self hosted site) \u003Cstrong>into Android, iOS, winphone and windows app!\u003C\u002Fstrong> It is used to compliment Ideapress multi-screen application.\u003C\u002Fp>\n\u003Ch3>About IdeaPress\u003C\u002Fh3>\n\u003Cp>IdeaPress aims to make the mobile app space more accessible to everyone by providing an avenue for coders and non-coders to develop beautiful apps.\u003C\u002Fp>\n\u003Cp>IdeaPress has been endorsed by Microsoft CANADA and it is used by magazines and wordpress shop around the world. It has been showcase in WordCamp 2013 DemoCamp, StartUpTO, DevTO. If you want to turn your wordpress site into iOS, Android and WinPhone, it might be the tool for you.\u003C\u002Fp>\n\u003Ch3>Build your own mobile app\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fideapress.me\u002Fturn-wordpress-into-mobile-app.html\" rel=\"nofollow ugc\">IdeaPress\u003C\u002Fa> is an online that convert your site into moible app in 3 steps. WordPress is best known for its \u003Cstrong>ease-of-use and customization\u003C\u002Fstrong> options. When you’re \u003Cstrong>making your iOS, Android and Winphone apps\u003C\u002Fstrong> with IdeaPress, you get to choose exactly how you want to make your app ranging from the content that’s included to the \u003Cstrong>design and styling\u003C\u002Fstrong>. In addition, we will help you publish to app store.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>IdeaPress comes with loads of features out of the box\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Ch4>Offline Browsing\u003C\u002Fh4>\n\u003Cp>Tired of not being able to read your content you have \u003Cstrong>no internet\u003C\u002Fstrong>? Solve the problem with IdeaPress! IdeaPress stores the content of your website so that it can be accessed on mobile devices anytime, anywhere!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch4>Posts and Pages\u003C\u002Fh4>\n\u003Cp>Choose which \u003Cstrong>categories and pages\u003C\u002Fstrong> you want to include in your apps and even choose different content for platforms, whether it be iOS, Android or Windows Phone. IdeaPress format your content to fit on all devices, so your \u003Cstrong>posts and pages look good on the go\u003C\u002Fstrong>!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch4>Bookmarking, Sharing and Searching\u003C\u002Fh4>\n\u003Cp>One of the main reasons to get an app over a mobile website is to take advantage of device native features. IdeaPress apps can harness the power of the devices that they are on across all platforms and let users \u003Cstrong>search the content of your website, share posts and pages and bookmark articles\u003C\u002Fstrong> for later viewing.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch4>Dynamic updating\u003C\u002Fh4>\n\u003Cp>While most apps have to be resubmitted to the store when updating, IdeaPress apps can be updated through your dashboard and have \u003Cstrong>the changes pushed directly to the apps withing minutes without re-publishing\u003C\u002Fstrong>. Users get to benefit from your changes almost instantly instead of waiting for store certification.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is developed by \u003Ca href=\"http:\u002F\u002Fideanotion.net\" rel=\"nofollow ugc\">Idea Notion\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin is developed base on JSON-API, it will add additional functionality to the original JSON API, slim down the return objects and add additional functionality for Ideapress applications\u003C\u002Fp>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cp>This plugin base on WordPress JSON-API plugin and we modified the plugin to taylor the need of Ideapress multi-screen application. Most of the methods are supported, an additional get_recent_posts_on_hub is being added for smaller return size and Posts Control is dropped. The rest of this section is base on JSON-API documentation.\u003C\u002Fp>\n\u003Col>\n\u003Cli>General concepts\u003Cbr \u002F>\n1.1. Requests\u003Cbr \u002F>\n1.2. Controllers\u003Cbr \u002F>\n1.3. Responses  \u003C\u002Fli>\n\u003Cli>Request methods\u003Cbr \u002F>\n2.1. Core controller methods\u003Cbr \u002F>\n2.2. Respond controller methods  \u003C\u002Fli>\n\u003Cli>Request arguments\u003Cbr \u002F>\n3.1. Output-modifying arguments\u003Cbr \u002F>\n3.2. Content-modifying arguments\u003Cbr \u002F>\n3.3. Using include\u002Fexclude and redirects  \u003C\u002Fli>\n\u003Cli>Response objects\u003Cbr \u002F>\n4.1. Post response object\u003Cbr \u002F>\n4.2. Category response object\u003Cbr \u002F>\n4.3. Tag response object\u003Cbr \u002F>\n4.4. Author response object\u003Cbr \u002F>\n4.4. Comment response object\u003Cbr \u002F>\n4.5. Attachment response object\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>1. General Concepts\u003C\u002Fh3>\n\u003Ch3>1.1. Requests\u003C\u002Fh3>\n\u003Cp>Requests use a simple REST-style HTTP GET or POST. To invoke the API, include a non-empty query value for \u003Ccode>json\u003C\u002Fcode> in the URL.\u003C\u002Fp>\n\u003Cp>JSON API operates in two modes:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cem>Implicit mode\u003C\u002Fem> is triggered by setting the \u003Ccode>json\u003C\u002Fcode> query var to a non-empty value on any WordPress page. The content that would normally appear on that page is returned in JSON format.\u003C\u002Fli>\n\u003Cli>\u003Cem>Explicit mode\u003C\u002Fem> is triggered by setting \u003Ccode>json\u003C\u002Fcode> to a known method string. See \u003Cem>Section 2: Request methods\u003C\u002Fem> for a complete method listing.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Implicit mode examples:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=1\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?p=47&json=1\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Ftag\u002Fbanana\u002F?json=1\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Explicit mode examples:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=get_recent_posts\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=get_post&post_id=47\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=get_tag_posts&tag_slug=banana\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>With user-friendly permalinks configured:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fget_recent_posts\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fget_post\u002F?post_id=47\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fget_tag_posts\u002F?tag_slug=banana\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Further reading\u003C\u002Fstrong>\u003Cbr \u002F>\nSee \u003Cem>Section 3: Request arguments\u003C\u002Fem> for more information about request arguments to modify the response.\u003C\u002Fp>\n\u003Ch3>1.2. Controllers\u003C\u002Fh3>\n\u003Cp>The 1.0 release of JSON API introduced a modular controller system. This allows developers to flexibly add features to the API and give users more control over which methods they have enabled.\u003C\u002Fp>\n\u003Ch4>The Core controller\u003C\u002Fh4>\n\u003Cp>Most of the methods available prior to version 1.0 have been moved to the Core controller. The two exceptions are \u003Ccode>submit_comment\u003C\u002Fcode> and \u003Ccode>create_post\u003C\u002Fcode> which are now available from the Respond and Posts controllers, respectively. The Core controller is the only one enabled by default. All other functionality must be enabled from the JSON API Settings page (under Settings in the WordPress admin menu).\u003C\u002Fp>\n\u003Ch4>Specifying a controller\u003C\u002Fh4>\n\u003Cp>There are a few ways of specifying a controller, depending on how you are calling the API:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=get_recent_posts\u003C\u002Fcode> (\u003Ccode>core\u003C\u002Fcode> controller is implied, method is \u003Ccode>get_recent_posts\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Finfo\u002F\u003C\u002Fcode> (\u003Ccode>core\u003C\u002Fcode> controller is implied)\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fcore\u002Fget_category_posts\u002F\u003C\u002Fcode> (\u003Ccode>core\u003C\u002Fcode> controller can also be explicitly specified)\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.org\u002F?json=respond.submit_comment\u003C\u002Fcode> (\u003Ccode>respond\u003C\u002Fcode> controller, \u003Ccode>submit_comment\u003C\u002Fcode> method)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Legacy compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\nJSON API retains support for its pre-1.0 methods. For example, if you invoke the method \u003Ccode>create_post\u003C\u002Fcode> without a controller specified, the Posts controller is chosen instead of Core.\u003C\u002Fp>\n\u003Ch4>Available controllers\u003C\u002Fh4>\n\u003Cp>The current release includes three controllers: Core, Posts, and Respond. Developers are encouraged to suggest or submit additional controllers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Further reading\u003C\u002Fstrong>\u003Cbr \u002F>\nSee \u003Cem>Section 2: Request methods\u003C\u002Fem> for a complete reference of available controllers and methods. For documentation on extending JSON API with new controllers see \u003Cem>Section 5.2: Developing JSON API controllers\u003C\u002Fem>.\u003C\u002Fp>\n\u003Ch3>1.3. Responses\u003C\u002Fh3>\n\u003Cp>The standard response format for JSON API is (as you may have guessed) \u003Ca href=\"http:\u002F\u002Fjson.org\u002F\" rel=\"nofollow ugc\">JSON\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Here is an example response from \u003Ccode>http:\u002F\u002Flocalhost\u002Fwordpress\u002F?json=1\u003C\u002Fcode> called on a default WordPress installation (formatted for readability):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 1,\n  \"count_total\": 1,\n  \"pages\": 1,\n  \"posts\": [\n    {\n      \"id\": 1,\n      \"type\": \"post\",\n      \"slug\": \"hello-world\",\n      \"url\": \"http:\\\u002F\\\u002Flocalhost\\\u002Fwordpress\\\u002F?p=1\",\n      \"title\": \"Hello world!\",\n      \"title_plain\": \"Hello world!\",\n      \"content\": \"\u003Cp>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\u003C\\\u002Fp>\\n\",\n      \"excerpt\": \"Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\\n\",\n      \"date\": \"2009-11-11 12:50:19\",\n      \"modified\": \"2009-11-11 12:50:19\",\n      \"categories\": [],\n      \"tags\": [],\n      \"author\": {\n        \"id\": 1,\n        \"slug\": \"admin\",\n        \"name\": \"admin\",\n        \"first_name\": \"\",\n        \"last_name\": \"\",\n        \"nickname\": \"\",\n        \"url\": \"\",\n        \"description\": \"\"\n      },\n      \"comments\": [\n        {\n          \"id\": 1,\n          \"name\": \"Mr WordPress\",\n          \"url\": \"http:\\\u002F\\\u002Fwordpress.org\\\u002F\",\n          \"date\": \"2009-11-11 12:50:19\",\n          \"content\": \"\u003Cp>Hi, this is a comment.\u003Cbr \\\u002F>To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.\u003C\\\u002Fp>\\n\",\n          \"parent\": 0\n        }\n      ],\n      \"comment_count\": 1,\n      \"comment_status\": \"open\"\n    }\n  ]\n}\u003Ch3>2. Request methods\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Request methods are available from the following controllers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Core controller – basic introspection methods\u003C\u002Fli>\n\u003Cli>Posts controller – data manipulation methods for posts\u003C\u002Fli>\n\u003Cli>Respond controller – comment\u002Ftrackback submission methods\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2.1. Core controller methods\u003C\u002Fh3>\n\u003Cp>The Core controller offers a mostly-complete set of introspection methods for retrieving content from WordPress.\u003C\u002Fp>\n\u003Ch3>Method: info\u003C\u002Fh3>\n\u003Cp>Returns information about JSON API.\u003C\u002Fp>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>controller\u003C\u002Fcode> – returns detailed information about a specific controller\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"json_api_version\": \"1.0\",\n  \"controllers\": [\n    \"core\"\n  ]\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"name\": \"Core\",\n  \"description\": \"Basic introspection methods\",\n  \"methods\": [\n    ...\n  ]\n}\u003Ch3>Method: get_recent_posts\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of recent posts. You can invoke this from the WordPress home page either by setting \u003Ccode>json\u003C\u002Fcode> to a non-empty value (i.e., \u003Ccode>json=1\u003C\u002Fcode>) or from any page by setting \u003Ccode>json=get_recent_posts\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_recent_posts_on_hub\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of recent posts. You can invoke this from any page by setting \u003Ccode>json=get_recent_posts_on_hub\u003C\u002Fcode>. This function slims down the content because on hub page, multi-screen app doesn’t need the full content and it remove the return comments to decrease the size of return item.\u003C\u002Fp>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: ideapress_server_ping\u003C\u002Fh3>Returns true. Make sure the the server has installed the plugin\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"result\": true\n}\u003Ch3>Method: get_post\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns a single post object.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a post URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> or \u003Ccode>post_id\u003C\u002Fcode> – set to the post’s ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> or \u003Ccode>post_slug\u003C\u002Fcode> – set to the post’s URL slug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"post\": { ... }\n}\u003Ch3>Method: get_page\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns a single page object.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a page URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> or \u003Ccode>page_id\u003C\u002Fcode> – set to the page’s ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> or \u003Ccode>page_slug\u003C\u002Fcode> – set to the page’s URL slug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>children\u003C\u002Fcode> – set to a non-empty value to include a recursive hierarchy of child pages\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"page\": { ... }\n}\u003Ch3>Method: get_date_posts\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of posts\u002Fpages in a specific date archive (by day, month, or year).\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a date archive page\u003C\u002Fli>\n\u003Cli>\u003Ccode>date\u003C\u002Fcode> – set to a date in the format \u003Ccode>YYYY\u003C\u002Fcode> or \u003Ccode>YYYY-MM\u003C\u002Fcode> or \u003Ccode>YYYY-MM-DD\u003C\u002Fcode> (non-numeric characters are stripped from the var, so \u003Ccode>YYYYMMDD\u003C\u002Fcode> or \u003Ccode>YYYY\u002FMM\u002FDD\u003C\u002Fcode> are also valid)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_category_posts\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of posts\u002Fpages in a specific category.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a category archive page\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> or \u003Ccode>category_id\u003C\u002Fcode> – set to the category’s ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> or \u003Ccode>category_slug\u003C\u002Fcode> – set to the category’s URL slug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"category\": { ... }\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_tag_posts\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of posts\u002Fpages with a specific tag.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a tag archive page\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> or \u003Ccode>tag_id\u003C\u002Fcode> – set to the tag’s ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> or \u003Ccode>tag_slug\u003C\u002Fcode> – set to the tag’s URL slug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"tag\": { ... }\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_author_posts\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of posts\u002Fpages written by a specific author.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on an author archive page\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> or \u003Ccode>author_id\u003C\u002Fcode> – set to the author’s ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> or \u003Ccode>author_slug\u003C\u002Fcode> – set to the author’s URL slug\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"author\": { ... }\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_search_results\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of posts\u002Fpages in response to a search query.\u003C\u002Fp>\n\u003Ch4>One of the following is required\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoking the JSON API implicitly (i.e., \u003Ccode>?json=1\u003C\u002Fcode>) on a search results page\u003C\u002Fli>\n\u003Cli>\u003Ccode>search\u003C\u002Fcode> – set to the desired search query\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – determines how many posts per page are returned (default value is 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> – return a specific page number from the results\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_type\u003C\u002Fcode> – used to retrieve custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 10,\n  \"count_total\": 79,\n  \"pages\": 7,\n  \"posts\": [\n    { ... },\n    { ... },\n    ...\n  ]\n}\u003Ch3>Method: get_date_index\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns both an array of date page permalinks and a tree structure representation of the archive.\u003C\u002Fp>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"permalinks\": [\n    \"...\",\n    \"...\",\n    \"...\"\n  ],\n  \"tree\": {\n    \"2009\": {\n      \"09\": 17,\n      \"10\": 20,\n      \"11\": 7\n    }\n  }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Note: the tree is arranged by \u003Ccode>response.tree.[year].[month].[number of posts]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Method: get_category_index\u003C\u002Fh3>\n\u003Cp>Returns an array of active categories.\u003C\u002Fp>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 3,\n  \"categories\": [\n    { ... },\n    { ... },\n    { ... }\n  ]\n}\u003Ch3>Method: get_tag_index\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of active tags.\u003C\u002Fp>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 3\n  \"tags\": [\n    { ... },\n    { ... },\n    { ... }\n  ]\n}\u003Ch3>Method: get_author_index\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns an array of active blog authors.\u003C\u002Fp>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"count\": 3,\n  \"authors\": [\n    { ... },\n    { ... },\n    { ... }\n  ]\n}\u003Ch3>Method: get_page_index\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns a hierarchical tree of \u003Ccode>page\u003C\u002Fcode> posts.\u003C\u002Fp>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"pages\": [\n    { ... },\n    { ... },\n    { ... }\n  ]\n}\u003Ch3>Method: get_nonce\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns a WordPress nonce value, required to call some data manipulation methods.\u003C\u002Fp>\n\u003Ch4>Required arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>controller\u003C\u002Fcode> – the JSON API controller for the method you will use the nonce for\u003C\u002Fli>\n\u003Cli>\u003Ccode>method\u003C\u002Fcode> – the method you wish to call (currently \u003Ccode>create_post\u003C\u002Fcode> is the only method that requires a nonce)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>{\n  \"status\": \"ok\",\n  \"controller\": \"posts\",\n  \"method\": \"create_post\",\n  \"nonce\": \"cefe01efd4\"\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Further reading\u003C\u002Fstrong>\u003Cbr \u002F>\nTo learn more about how nonces are used in WordPress, see \u003Ca href=\"http:\u002F\u002Fmarkjaquith.wordpress.com\u002F2006\u002F06\u002F02\u002Fwordpress-203-nonces\u002F\" rel=\"nofollow ugc\">Mark Jaquith’s article on the subject\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>2.2. Pages controller methods\u003C\u002Fh3>\n\u003Ch3>Method: create_post\u003C\u002Fh3>\n\u003Cp>Creates a new post.\u003C\u002Fp>\n\u003Ch4>Required argument\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>nonce\u003C\u002Fcode> – available from the \u003Ccode>get_nonce\u003C\u002Fcode> method (call with vars \u003Ccode>controller=posts\u003C\u002Fcode> and \u003Ccode>method=create_post\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>status\u003C\u002Fcode> – sets the post status (“draft” or “publish”), default is “draft”\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – the post title\u003C\u002Fli>\n\u003Cli>\u003Ccode>content\u003C\u002Fcode> – the post content\u003C\u002Fli>\n\u003Cli>\u003Ccode>author\u003C\u002Fcode> – the post’s author (login name), default is the current logged in user\u003C\u002Fli>\n\u003Cli>\u003Ccode>categories\u003C\u002Fcode> – a comma-separated list of categories (URL slugs)\u003C\u002Fli>\n\u003Cli>\u003Ccode>tags\u003C\u002Fcode> – a comma-separated list of tags (URL slugs)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: including a file upload field called \u003Ccode>attachment\u003C\u002Fcode> will cause an attachment to be stored with your new post.\u003C\u002Fp>\n\u003Ch3>2.3. Respond controller methods\u003C\u002Fh3>\n\u003Ch3>Method: submit_comment\u003C\u002Fh3>\n\u003Cp>Submits a comment to a WordPress post.\u003C\u002Fp>\n\u003Ch4>Required arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>post_id\u003C\u002Fcode> – which post to comment on\u003C\u002Fli>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode> – the commenter’s name\u003C\u002Fli>\n\u003Cli>\u003Ccode>email\u003C\u002Fcode> – the commenter’s email address\u003C\u002Fli>\n\u003Cli>\u003Ccode>content\u003C\u002Fcode> – the comment content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optional arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>redirect\u003C\u002Fcode> – redirect instead of returning a JSON object\u003C\u002Fli>\n\u003Cli>\u003Ccode>redirect_ok\u003C\u002Fcode> – redirect to a specific URL when the status value is \u003Ccode>ok\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>redirect_error\u003C\u002Fcode> – redirect to a specific URL when the status value is \u003Ccode>error\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>redirect_pending\u003C\u002Fcode> – redirect to a specific URL when the status value is \u003Ccode>pending\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Custom status values\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>pending\u003C\u002Fcode> – assigned if the comment submission is pending moderation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3. Request arguments\u003C\u002Fh3>\n\u003Cp>API requests can be controlled by specifying one of the following arguments as URL query vars.\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Debug the response: \u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fget_page_index\u002F?dev=1\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Widget-style JSONP output: \u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fget_recent_posts\u002F?callback=show_posts_widget&read_more=More&count=3\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Redirect on error: \u003Ccode>http:\u002F\u002Fwww.example.org\u002Fapi\u002Fposts\u002Fcreate_post\u002F?callback_error=http%3A%2F%2Fwww.example.org%2Fhelp.html\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3.1. Output-modifying arguments\u003C\u002Fh3>\n\u003Cp>The following arguments modify how you get results back from the API. The redirect response styles are intended for use with the data manipulation methods.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Setting \u003Ccode>callback\u003C\u002Fcode> to a JavaScript function name will trigger a JSONP-style callback.\u003C\u002Fli>\n\u003Cli>Setting \u003Ccode>redirect\u003C\u002Fcode> to a URL will cause the user’s browser to redirect to the specified URL with a \u003Ccode>status\u003C\u002Fcode> value appended to the query vars (see the \u003Cem>Response objects\u003C\u002Fem> section below for an explanation of status values).\u003C\u002Fli>\n\u003Cli>Setting \u003Ccode>redirect_[status]\u003C\u002Fcode> allows you to control the resulting browser redirection depending on the \u003Ccode>status\u003C\u002Fcode> value.\u003C\u002Fli>\n\u003Cli>Setting \u003Ccode>dev\u003C\u002Fcode> to a non-empty value adds whitespace for readability and responds with \u003Ccode>text\u002Fplain\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Omitting all of the above arguments will result in a standard JSON response.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3.2. Content-modifying arguments\u003C\u002Fh3>\n\u003Cp>These arguments are available to modify all introspection methods:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>date_format\u003C\u002Fcode> – Changes the format of date values. Uses the same syntax as PHP’s date() function. Default value is \u003Ccode>Y-m-d H:i:s\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>read_more\u003C\u002Fcode> – Changes the ‘read more’ link text in post content.\u003C\u002Fli>\n\u003Cli>\u003Ccode>include\u003C\u002Fcode> – Specifies which post data fields to include. Expects a comma-separated list of post fields. Leaving this empty includes \u003Cem>all\u003C\u002Fem> fields.\u003C\u002Fli>\n\u003Cli>\u003Ccode>exclude\u003C\u002Fcode> – Specifies which post data fields to exclude. Expects a comma-separated list of post fields.\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_fields\u003C\u002Fcode> – Includes values from posts’ Custom Fields. Expects a comma-separated list of custom field keys.\u003C\u002Fli>\n\u003Cli>\u003Ccode>author_meta\u003C\u002Fcode> – Includes additional author metadata. Should be a comma-separated list of metadata fields.\u003C\u002Fli>\n\u003Cli>\u003Ccode>count\u003C\u002Fcode> – Controls the number of posts to include (defaults to the number specified by WordPress)\u003C\u002Fli>\n\u003Cli>\u003Ccode>order\u003C\u002Fcode> – Controls the order of post results (‘DESC’ or ‘ASC’). Default value is ‘DESC’.\u003C\u002Fli>\n\u003Cli>\u003Ccode>order_by\u003C\u002Fcode> – Controls which field to order results by. Expects one of the following values:\n\u003Cul>\n\u003Cli>\u003Ccode>author\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>date\u003C\u002Fcode> (default value)\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>modified\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>menu_order\u003C\u002Fcode> (only works with Pages)\u003C\u002Fli>\n\u003Cli>\u003Ccode>parent\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>ID\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>rand\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>meta_value\u003C\u002Fcode> (\u003Ccode>meta_key\u003C\u002Fcode> must also be set)\u003C\u002Fli>\n\u003Cli>\u003Ccode>none\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>comment_count\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>meta_key\u003C\u002Fcode>, \u003Ccode>meta_value\u003C\u002Fcode>, \u003Ccode>meta_compare\u003C\u002Fcode> – Retrieve posts (or Pages) based on a custom field key or value.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3.3. Using include\u002Fexclude and redirects\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>About \u003Ccode>include\u003C\u002Fcode>\u002F\u003Ccode>exclude\u003C\u002Fcode> arguments\u003C\u002Fstrong>\u003Cbr \u002F>\nBy default you get all values included with each post object. Specify a list of \u003Ccode>include\u003C\u002Fcode> values will cause the post object to filter out the values absent from the list. Specifying \u003Ccode>exclude\u003C\u002Fcode> causes post objects to include all values except the fields you list. For example, the query \u003Ccode>exclude=comments\u003C\u002Fcode> includes everything \u003Cem>except\u003C\u002Fem> the comments.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>About the \u003Ccode>redirect\u003C\u002Fcode> argument\u003C\u002Fstrong>\u003Cbr \u002F>\nThe \u003Ccode>redirect\u003C\u002Fcode> response style is useful for when you need the user’s browser to make a request directly rather than making proxy requests using a tool like cURL. Setting a \u003Ccode>redirect\u003C\u002Fcode> argument causes the user’s browser to redirect back to the specified URL instead of returning a JSON object. The resulting \u003Ccode>status\u003C\u002Fcode> value is included as an extra query variable.\u003C\u002Fp>\n\u003Cp>For example calling an API method with \u003Ccode>redirect\u003C\u002Fcode> set to \u003Ccode>http:\u002F\u002Fwww.example.com\u002Ffoo\u003C\u002Fcode> will result in a redirection to one of the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.com\u002Ffoo?status=ok\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fwww.example.com\u002Ffoo?status=error\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also set separate URLs to handle status values differently. You could set \u003Ccode>redirect_ok\u003C\u002Fcode> to \u003Ccode>http:\u002F\u002Fwww.example.com\u002Fhandle_ok\u003C\u002Fcode> and \u003Ccode>redirect_error\u003C\u002Fcode> to \u003Ccode>http:\u002F\u002Fwww.example.com\u002Fhandle_error\u003C\u002Fcode> in order to have more fine-tuned control over the method result.\u003C\u002Fp>\n\u003Ch3>4. Response objects\u003C\u002Fh3>\n\u003Cp>This section describes data objects you can retrieve from WordPress and the optional URL redirects.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Status values\u003C\u002Fstrong>\u003Cbr \u002F>\nAll JSON API requests result in a status value. The two basic status values are \u003Ccode>ok\u003C\u002Fcode> and \u003Ccode>error\u003C\u002Fcode>. Additional status values are available for certain methods (such as \u003Ccode>pending\u003C\u002Fcode> in the case of the \u003Ccode>submit_comment\u003C\u002Fcode> method). API methods that result in custom status values include a \u003Cem>custom status values\u003C\u002Fem> section in their documentation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Naming compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\nDevelopers familiar with WordPress may notice that many names for properties and arguments have been changed. This was a stylistic choice that intends to provide more clarity and consistency in the interface.\u003C\u002Fp>\n\u003Ch3>4.1. Post response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>type\u003C\u002Fcode> – String (e.g., \u003Ccode>post\u003C\u002Fcode> or \u003Ccode>page\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>url\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>title_plain\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>content\u003C\u002Fcode> – String (modified by the \u003Ccode>read_more\u003C\u002Fcode> argument)\u003C\u002Fli>\n\u003Cli>\u003Ccode>excerpt\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>date\u003C\u002Fcode> – String (modified by the \u003Ccode>date_format\u003C\u002Fcode> argument)\u003C\u002Fli>\n\u003Cli>\u003Ccode>modified\u003C\u002Fcode> – String (modified by the \u003Ccode>date_format\u003C\u002Fcode> argument)\u003C\u002Fli>\n\u003Cli>\u003Ccode>categories\u003C\u002Fcode> – Array of category objects\u003C\u002Fli>\n\u003Cli>\u003Ccode>tags\u003C\u002Fcode> – Array of tag objects\u003C\u002Fli>\n\u003Cli>\u003Ccode>author\u003C\u002Fcode> Author object\u003C\u002Fli>\n\u003Cli>\u003Ccode>comments\u003C\u002Fcode> – Array of comment objects\u003C\u002Fli>\n\u003Cli>\u003Ccode>attachments\u003C\u002Fcode> – Array of attachment objects\u003C\u002Fli>\n\u003Cli>\u003Ccode>comment_count\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>comment_status\u003C\u002Fcode> – String (\u003Ccode>\"open\"\u003C\u002Fcode> or \u003Ccode>\"closed\"\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>thumbnail\u003C\u002Fcode> – String (only included if a post thumbnail has been specified)\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_fields\u003C\u002Fcode> – Object (included by setting the \u003Ccode>custom_fields\u003C\u002Fcode> argument to a comma-separated list of custom field names)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>\u003Cbr \u002F>\nThe \u003Ccode>thumbnail\u003C\u002Fcode> attribute returns a URL to the image size specified by the optional \u003Ccode>thumbnail_size\u003C\u002Fcode> request argument. By default this will use the \u003Ccode>thumbnail\u003C\u002Fcode> or \u003Ccode>post-thumbnail\u003C\u002Fcode> sizes, depending on your version of WordPress. See \u003Ca href=\"http:\u002F\u002Fmarkjaquith.wordpress.com\u002F2009\u002F12\u002F23\u002Fnew-in-wordpress-2-9-post-thumbnail-images\u002F\" rel=\"nofollow ugc\">Mark Jaquith’s post on the topic\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch3>4.2. Category response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>description\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>parent\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_count\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.3. Tag response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>description\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>post_count\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.4. Author response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>first_name\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>last_name\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>nickname\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>url\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>description\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: You can include additional values by setting the \u003Ccode>author_meta\u003C\u002Fcode> argument to a comma-separated list of metadata fields.\u003C\u002Fp>\n\u003Ch3>4.5. Comment response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>url\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>date\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>content\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>parent\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>author\u003C\u002Fcode> – Object (only set if the comment author was registered & logged in)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4.6. Attachment response object\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>url\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>description\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>caption\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>parent\u003C\u002Fcode> – Integer\u003C\u002Fli>\n\u003Cli>\u003Ccode>mime_type\u003C\u002Fcode> – String\u003C\u002Fli>\n\u003Cli>\u003Ccode>images\u003C\u002Fcode> – Object with values including \u003Ccode>thumbnail\u003C\u002Fcode>, \u003Ccode>medium\u003C\u002Fcode>, \u003Ccode>large\u003C\u002Fcode>, \u003Ccode>full\u003C\u002Fcode>, each of which are objects with values \u003Ccode>url\u003C\u002Fcode>, \u003Ccode>width\u003C\u002Fcode> and \u003Ccode>height\u003C\u002Fcode> (only set if the attachment is an image)\u003C\u002Fli>\n\u003C\u002Ful>\n","Don't write a single line of code. Turn your wordpress into mobile app in 5 mins. (Android, iOS, winPhone)",90,19441,74,3,"2014-02-06T23:52:00.000Z","3.4.2","2.8",[19,116,20,117,21],"apps","mobile","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fideapress-json-api.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":127,"downloaded":128,"rating":34,"num_ratings":11,"last_updated":129,"tested_up_to":130,"requires_at_least":131,"requires_php":24,"tags":132,"homepage":24,"download_link":135,"security_score":136,"vuln_count":111,"unpatched_count":31,"last_vuln_date":137,"fetched_at":28},"appexperts","APPExperts – Mobile App Builder for WordPress | WooCommerce to iOS and Android Apps","1.4.5","Saad Iqbal","https:\u002F\u002Fprofiles.wordpress.org\u002Fsaadiqbal\u002F","\u003Cp>APPExperts is a freemium \u003Ca href=\"https:\u002F\u002Fappexperts.io\u002F\" rel=\"nofollow ugc\">mobile app builder\u003C\u002Fa> that gives you the power to turn your WordPress-powered website into a mobile application for iOS and Android phones, tablets, and other mobile devices.\u003C\u002Fp>\n\u003Cp>APPExperts provides mobility solutions for a broad spectrum of businesses, including blogs, eCommerce stores, CMS websites, and more. It’s all about connecting different platforms to your application so users can reach you anytime, anywhere.\u003C\u002Fp>\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\u002FVUpJe0zGmNY?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>\n\u003Ch3>APPExperts Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>WooCommerce Functionality Support\u003C\u002Fstrong> – Convert your eCommerce store into a mobile app with support for WooCommerce features and functionalities, including simple and variable products, add-to-cart, WebView form-based checkout pages that are integrated with all payment and shipping methods.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Splash Screen\u003C\u002Fstrong> – Design an elegant launch screen to enhance your app’s beauty and boost the user experience with a smooth launch perspective.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual Support\u003C\u002Fstrong> – All applications are integrated with translation support, management, and editing tools.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Search Functionality\u003C\u002Fstrong> – Include a self-contained search function in your application to provide a reliable search experience for all users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Customization\u003C\u002Fstrong> – Customize your app’s menu with custom links, taxonomies, pages, posts, and categories.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Management\u003C\u002Fstrong> – Manage your WordPress content on your mobile app any way you want.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Members-only Access\u003C\u002Fstrong> – Create a members-only application that requires users to log in first.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support for RTL Languages\u003C\u002Fstrong> – The application supports RTL languages (Arabic, Hebrew, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live Updates from Website to App\u003C\u002Fstrong> – Any update to the website will be synced to the mobile application.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support for GIF Splash Screen\u003C\u002Fstrong> – You can add GIF on their application splash screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Splash Screen Duration\u003C\u002Fstrong> – Control the time duration of the splash screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shimmer Loading\u003C\u002Fstrong> – Mobile users can see shimmer loading for App page data.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom App Loader\u003C\u002Fstrong> – The user can add a custom App Loader in the app settings tab in GIF format.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>App Caching\u003C\u002Fstrong> – Cache content loads on page reload for better page navigation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms & Conditions\u003C\u002Fstrong> – The login or signup screen displays the terms and conditions page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Option to Delete Account\u003C\u002Fstrong> – Registered users can deactivate their accounts to remove all data from the app.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Homepage Banners\u003C\u002Fstrong> – Add multiple custom banners with custom links.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Sorting for Homepage\u003C\u002Fstrong> – You can set the order for banners on the homepage.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exclude WordPress and WooCommerce Taxonomies\u003C\u002Fstrong> – Ability to edit taxonomies page and exclude them from the mobile app.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PeepSo Integration\u003C\u002Fstrong> – Access to all PeepSo features from the mobile app.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PeepSo Polls\u003C\u002Fstrong> – Allow users to create polls and post them using PeepSo integration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PeepSo Chat\u003C\u002Fstrong> – Users can send and receive message, create group chats, add and remove members, enable\u002Fdisable read receipts, send gifs\u002Fimages and more with PeepSo Chat integration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PeepSo Locations\u003C\u002Fstrong> – Allow users to add\u002Fedit a location on a post.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Search Options\u003C\u002Fstrong> – New design for search results screen with tabs to filter results by post types.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What makes APPExperts the best WordPress plugin for mobile app conversion?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Compatibility\u003C\u002Fstrong> – Every application is compatible with all smartphones and screen sizes, whether they support Android or iOS.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create your app\u003C\u002Fstrong> with Flutter – Develop cross-platform applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customization\u003C\u002Fstrong> – Customize the application according to your brand’s theme without any restrictions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Self-Publish\u003C\u002Fstrong> – APPExperts allows you to publish your application within seconds.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic update sync\u003C\u002Fstrong> – Any changes to the WordPress website will automatically be updated to your mobile application.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Premium support\u003C\u002Fstrong> – We are here to help you every step of the way. Contact us for feature customizations or other requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tons of other advantages\u003C\u002Fstrong> – Flutter app development helps you deliver incredibly fast and expressive results.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>APPExperts Pro\u003C\u002Fh3>\n\u003Cp>APPExperts Pro pricing plans offer you all of the features from the free plan and more, including social sharing, a built-in and ready-to-use icons library for your custom app menu, option to log in using a phone number. You can visit the APPExperts Pro Pricing Plans \u003Ca href=\"https:\u002F\u002Fappexperts.io\u002Fpricing\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>APPExperts Pro Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create Trademark-free Apps\u003C\u002Fstrong> – All pro plans give you the option to remove the APPExperts trademark from the application build.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Login via Phone Number\u003C\u002Fstrong> – Users can login to the mobile application using their phone number.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OTP Verification on Login\u003C\u002Fstrong> – Enable one-time password verification check on login via phone number.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Social Sharing\u003C\u002Fstrong> – Empower users to connect their social media account with your application.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Intro Screens\u003C\u002Fstrong> – You can now add up to five intro screens on your application.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ready-to-use Icon Library\u003C\u002Fstrong> – You can select menu icons from a ready-to-use icons library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add Product reviews\u003C\u002Fstrong> – Display product reviews for your WooCommerce products.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Push Notifications\u003C\u002Fstrong> – Enable push notifications and send real-time notifications to app users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatibility with Yith Wishlist Plugin\u003C\u002Fstrong> – Add the wishlist support functionality for your eCommerce apps using Yith Wishlist plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admob Integration\u003C\u002Fstrong> – Users can configure Admob ads for each new component.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Analytics\u003C\u002Fstrong> – Firebase integration for Admob, E-Commerce, and Contact form 7 events.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Techincal Documentation & Support\u003C\u002Fh3>\n\u003Cp>Please read the \u003Ca href=\"https:\u002F\u002Fappexperts.io\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">technical documentation\u003C\u002Fa> to find the setup and configuration guide related to connecting APPExperts with your WordPress website and designing your first application. It also includes details about features and new updates.\u003C\u002Fp>\n\u003Ch4>Having trouble customizing your application?\u003C\u002Fh4>\n\u003Cp>With AppExperts custom application development services, you can free up your IT resources by getting help with the planning, transformation, implementation, and management of any custom or packaged app.\u003C\u002Fp>\n\u003Cp>We will help you with every step of the application development process, from conception through maintenance. Visit \u003Ca href=\"https:\u002F\u002Fappexperts.io\u002Fcustomization-request\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch3>How does APPExperts work?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Download the plugin from WordPress.org\u003C\u002Fli>\n\u003Cli>Install and activate the plugin on your WordPress website\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fapp.appexperts.io\u002Fauth\u002Fregister\" rel=\"nofollow ugc\">Register as a new user\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Create a new application (configure app details)\u003C\u002Fli>\n\u003Cli>Select your app category (eCommerce, blog, information, etc.)\u003C\u002Fli>\n\u003Cli>Design your application using a variety of different features.\u003C\u002Fli>\n\u003C\u002Ful>\n","APPExperts is a freemium mobile app builder that gives you the power to turn your WordPress-powered website into a mobile application for iOS and Andr &hellip;",40,27400,"2025-04-30T12:39:00.000Z","6.8.5","4.5.0",[54,133,55,21,134],"app-builder","mobile-app-builder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappexperts.zip",54,"2026-01-22 00:00:00",{"attackSurface":139,"codeSignals":185,"taintFlows":257,"riskAssessment":398,"analyzedAt":406},{"hooks":140,"ajaxHandlers":175,"restRoutes":176,"shortcodes":183,"cronEvents":184,"entryPointCount":72,"unprotectedCount":72},[141,147,153,156,159,163,167,171],{"type":142,"name":143,"callback":144,"priority":72,"file":145,"line":146},"filter","admin_init","get_variables","inc\\appearance-settings.php",21,{"type":148,"name":149,"callback":150,"priority":151,"file":145,"line":152},"action","init","adjust_taxonomies_rest",9999,22,{"type":148,"name":149,"callback":154,"priority":151,"file":145,"line":155},"adjust_maximum_rest",23,{"type":148,"name":149,"callback":157,"priority":151,"file":145,"line":158},"adjust_cpt_rest",24,{"type":148,"name":160,"callback":161,"file":145,"line":162},"admin_enqueue_scripts","mkrnwp_custom_query_styles",25,{"type":148,"name":143,"callback":164,"file":165,"line":166},"mkrnwp_appearance_settings","inc\\rnwp-settings.php",15,{"type":148,"name":168,"callback":169,"file":165,"line":170},"admin_menu","mkrnwp_add_menu_page",17,{"type":148,"name":172,"callback":173,"file":174,"line":31},"rest_api_init","mkrnwp_rest_api_for_search_filter_add_filters","inc\\search-api.php",[],[177],{"namespace":178,"route":179,"methods":180,"callback":182,"permissionCallback":27,"file":174,"line":59},"search\u002Fv1","search",[181],"GET","mkrnwp_search_callback",[],[],{"dangerousFunctions":186,"sqlUsage":187,"outputEscaping":189,"fileOperations":13,"externalRequests":13,"nonceChecks":72,"capabilityChecks":72,"bundledLibraries":256},[],{"prepared":13,"raw":13,"locations":188},[],{"escaped":190,"rawEcho":191,"locations":192},105,33,[193,196,198,200,202,204,206,208,210,211,212,214,216,218,219,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254],{"file":145,"line":194,"context":195},181,"raw output",{"file":145,"line":197,"context":195},218,{"file":145,"line":199,"context":195},259,{"file":145,"line":201,"context":195},308,{"file":145,"line":203,"context":195},314,{"file":145,"line":205,"context":195},317,{"file":145,"line":207,"context":195},343,{"file":145,"line":209,"context":195},344,{"file":145,"line":209,"context":195},{"file":145,"line":209,"context":195},{"file":145,"line":213,"context":195},355,{"file":145,"line":215,"context":195},381,{"file":145,"line":217,"context":195},382,{"file":145,"line":217,"context":195},{"file":145,"line":217,"context":195},{"file":145,"line":221,"context":195},394,{"file":145,"line":223,"context":195},428,{"file":145,"line":225,"context":195},442,{"file":145,"line":227,"context":195},448,{"file":145,"line":229,"context":195},461,{"file":145,"line":231,"context":195},481,{"file":145,"line":233,"context":195},492,{"file":145,"line":235,"context":195},513,{"file":145,"line":237,"context":195},533,{"file":145,"line":239,"context":195},553,{"file":145,"line":241,"context":195},564,{"file":145,"line":243,"context":195},574,{"file":145,"line":245,"context":195},612,{"file":145,"line":247,"context":195},667,{"file":145,"line":249,"context":195},669,{"file":145,"line":251,"context":195},681,{"file":145,"line":253,"context":195},802,{"file":145,"line":255,"context":195},888,[],[258,277,287,297,307,317,327,337,347,357,367,377,387],{"entryPoint":259,"graph":260,"unsanitizedCount":72,"severity":276},"mkrnwp_offline_per_page (inc\\appearance-settings.php:402)",{"nodes":261,"edges":273},[262,267],{"id":263,"type":264,"label":265,"file":145,"line":266},"n0","source","$_POST",406,{"id":268,"type":269,"label":270,"file":145,"line":271,"wp_function":272},"n1","sink","echo() [XSS]",407,"echo",[274],{"from":263,"to":268,"sanitized":275},false,"medium",{"entryPoint":278,"graph":279,"unsanitizedCount":72,"severity":276},"mkrnwp_online_per_page (inc\\appearance-settings.php:410)",{"nodes":280,"edges":285},[281,283],{"id":263,"type":264,"label":265,"file":145,"line":282},415,{"id":268,"type":269,"label":270,"file":145,"line":284,"wp_function":272},416,[286],{"from":263,"to":268,"sanitized":275},{"entryPoint":288,"graph":289,"unsanitizedCount":72,"severity":276},"mkrnwp_excerpt_max_char (inc\\appearance-settings.php:464)",{"nodes":290,"edges":295},[291,293],{"id":263,"type":264,"label":265,"file":145,"line":292},468,{"id":268,"type":269,"label":270,"file":145,"line":294,"wp_function":272},470,[296],{"from":263,"to":268,"sanitized":275},{"entryPoint":298,"graph":299,"unsanitizedCount":72,"severity":276},"mkrnwp_banner_ads_key (inc\\appearance-settings.php:495)",{"nodes":300,"edges":305},[301,303],{"id":263,"type":264,"label":265,"file":145,"line":302},499,{"id":268,"type":269,"label":270,"file":145,"line":304,"wp_function":272},501,[306],{"from":263,"to":268,"sanitized":275},{"entryPoint":308,"graph":309,"unsanitizedCount":72,"severity":276},"mkrnwp_interstitial_ads_key (inc\\appearance-settings.php:516)",{"nodes":310,"edges":315},[311,313],{"id":263,"type":264,"label":265,"file":145,"line":312},520,{"id":268,"type":269,"label":270,"file":145,"line":314,"wp_function":272},522,[316],{"from":263,"to":268,"sanitized":275},{"entryPoint":318,"graph":319,"unsanitizedCount":72,"severity":276},"mkrnwp_rewarded_ads_key (inc\\appearance-settings.php:536)",{"nodes":320,"edges":325},[321,323],{"id":263,"type":264,"label":265,"file":145,"line":322},540,{"id":268,"type":269,"label":270,"file":145,"line":324,"wp_function":272},542,[326],{"from":263,"to":268,"sanitized":275},{"entryPoint":328,"graph":329,"unsanitizedCount":72,"severity":276},"mkrnwp_notification_frequency (inc\\appearance-settings.php:577)",{"nodes":330,"edges":335},[331,333],{"id":263,"type":264,"label":265,"file":145,"line":332},580,{"id":268,"type":269,"label":270,"file":145,"line":334,"wp_function":272},582,[336],{"from":263,"to":268,"sanitized":275},{"entryPoint":338,"graph":339,"unsanitizedCount":72,"severity":276},"mkrnwp_notification_title (inc\\appearance-settings.php:585)",{"nodes":340,"edges":345},[341,343],{"id":263,"type":264,"label":265,"file":145,"line":342},589,{"id":268,"type":269,"label":270,"file":145,"line":344,"wp_function":272},591,[346],{"from":263,"to":268,"sanitized":275},{"entryPoint":348,"graph":349,"unsanitizedCount":72,"severity":276},"mkrnwp_notification_message (inc\\appearance-settings.php:594)",{"nodes":350,"edges":355},[351,353],{"id":263,"type":264,"label":265,"file":145,"line":352},598,{"id":268,"type":269,"label":270,"file":145,"line":354,"wp_function":272},600,[356],{"from":263,"to":268,"sanitized":275},{"entryPoint":358,"graph":359,"unsanitizedCount":72,"severity":276},"mkrnwp_phone (inc\\appearance-settings.php:615)",{"nodes":360,"edges":365},[361,363],{"id":263,"type":264,"label":265,"file":145,"line":362},619,{"id":268,"type":269,"label":270,"file":145,"line":364,"wp_function":272},621,[366],{"from":263,"to":268,"sanitized":275},{"entryPoint":368,"graph":369,"unsanitizedCount":72,"severity":276},"mkrnwp_address (inc\\appearance-settings.php:624)",{"nodes":370,"edges":375},[371,373],{"id":263,"type":264,"label":265,"file":145,"line":372},628,{"id":268,"type":269,"label":270,"file":145,"line":374,"wp_function":272},630,[376],{"from":263,"to":268,"sanitized":275},{"entryPoint":378,"graph":379,"unsanitizedCount":72,"severity":276},"mkrnwp_mail (inc\\appearance-settings.php:633)",{"nodes":380,"edges":385},[381,383],{"id":263,"type":264,"label":265,"file":145,"line":382},637,{"id":268,"type":269,"label":270,"file":145,"line":384,"wp_function":272},639,[386],{"from":263,"to":268,"sanitized":275},{"entryPoint":388,"graph":389,"unsanitizedCount":396,"severity":397},"\u003Cappearance-settings> (inc\\appearance-settings.php:0)",{"nodes":390,"edges":394},[391,393],{"id":263,"type":264,"label":392,"file":145,"line":266},"$_POST (x16)",{"id":268,"type":269,"label":270,"file":145,"line":271,"wp_function":272},[395],{"from":263,"to":268,"sanitized":275},16,"low",{"summary":399,"deductions":400},"The \"rnwp-app-template-config\" plugin, version 1.0.1, presents a mixed security posture.  On the positive side, it demonstrates good practices by avoiding dangerous functions, utilizing prepared statements for all SQL queries, and implementing a good percentage of output escaping.  There are no recorded vulnerabilities in its history, suggesting a generally stable codebase. However, a significant concern arises from its attack surface. The plugin exposes one REST API route without any permission callbacks, making it accessible to unauthenticated users. Furthermore, all 13 taint analysis flows analyzed involve unsanitized paths, which is a critical indicator of potential vulnerabilities, even though no specific high or critical severities were reported in the taint analysis itself. The presence of 13 unsanitized path flows is particularly worrying as it suggests that user-supplied input could potentially be used to manipulate file operations or access sensitive data, despite the lack of direct file operations or external HTTP requests reported.\n\nWhile the plugin's vulnerability history is clean and it avoids common pitfalls like raw SQL queries and dangerous functions, the combination of an unprotected REST API endpoint and a high number of unsanitized path flows in taint analysis creates a substantial risk. The lack of authentication on a REST API endpoint means any user can interact with it, and if that interaction is not properly validated, it could lead to security issues. The 13 unsanitized path flows are a strong signal that input validation and sanitization are likely insufficient. A balanced conclusion would highlight the strengths in SQL handling and output escaping but emphasize the critical need to address the unprotected REST API and the pervasive unsanitized path flows before this plugin can be considered secure.",[401,404],{"reason":402,"points":403},"REST API route without permission callback",8,{"reason":405,"points":166},"13 unsanitized path flows in taint analysis","2026-03-17T00:22:48.880Z",{"wat":408,"direct":419},{"assetPaths":409,"generatorPatterns":413,"scriptPaths":414,"versionParams":415},[410,411,412],"\u002Fwp-content\u002Fplugins\u002Frnwp-app-template-config\u002Fcss\u002Fw3.css","\u002Fwp-content\u002Fplugins\u002Frnwp-app-template-config\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Frnwp-app-template-config\u002Fjs\u002Fcustom.js",[],[],[416,417,418],"rnwp-app-template-config\u002Fcss\u002Fw3.css?ver=","rnwp-app-template-config\u002Fcss\u002Fstyle.css?ver=","rnwp-app-template-config\u002Fjs\u002Fcustom.js?ver=",{"cssClasses":420,"htmlComments":421,"htmlAttributes":422,"restEndpoints":423,"jsGlobals":426,"shortcodeOutput":427},[],[],[],[424,425],"\u002Fwp-json\u002Fwp\u002Fv2\u002Fproduct_cat","\u002Fwp-json\u002Fwp\u002Fv2\u002Fproduct_tag",[],[]]