[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNmGTCRs1RE-ua1Yfdj-9BCQn9U6ARkbC17ZBHX3vIG0":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":47,"crawl_stats":36,"alternatives":51,"analysis":147,"fingerprints":222},"uptodown-apk-download-widget","Uptodown APK Download Widget","0.1.16","Uptodown","https:\u002F\u002Fprofiles.wordpress.org\u002Fuptodown\u002F","\u003Cp>This responsive widget allows your users to access and download APKs easily from different sources (Google Play and Uptodown). It’s ready to use as a WordPress widget via shortcode along with the Package Name for the App.\u003C\u002Fp>\n\u003Cp>Uptodown is a major marketplace across the globe. Our objective is to offer all our content to users as quickly and comfortably as possible.  We’re not the only ones out there. Google Play is the largest app store in the world. But, we aren’t a store. Taking over where they’re missing out, we offer a different service by supplying users with APK downloads for their apps. Along with these advantages we also provide: installs for obsolete versions of apps, safer back ups, and fewer or no hardware restrictions, etc.\u003C\u002Fp>\n","Add information about any Android app (+3M Apps) right onto your blog and mobile site along with info on APK downloads",100,82110,2,"2026-01-29T10:52:00.000Z","6.9.4","3.0.1","",[19,20,21,22],"android","apk","apps","download","http:\u002F\u002Fwww.uptodown.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuptodown-apk-download-widget.0.1.16.zip",99,1,0,"2025-01-06 16:17:43","2026-03-15T15:16:48.613Z",[31],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":38,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":28,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2024-12453","uptodown-apk-download-widget-authenticated-contributor-stored-cross-site-scripting","Uptodown APK Download Widget \u003C= 0.1.10 - Authenticated (Contributor+) Stored Cross-Site Scripting","The Uptodown APK Download Widget plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'utd-widget' shortcode in all versions up to, and including, 0.1.10 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.",null,"\u003C=0.1.10","0.1.11","medium",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-01-24 18:50:03",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F78c2d5fc-240a-4fed-92ae-b9f84de3e119?source=api-prod",18,{"slug":48,"display_name":7,"profile_url":8,"plugin_count":26,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":46,"trust_score":49,"computed_at":50},"uptodown",93,"2026-04-04T22:01:49.584Z",[52,70,94,114,131],{"slug":53,"name":54,"version":55,"author":56,"author_profile":57,"description":58,"short_description":59,"active_installs":60,"downloaded":61,"rating":27,"num_ratings":27,"last_updated":62,"tested_up_to":15,"requires_at_least":63,"requires_php":64,"tags":65,"homepage":68,"download_link":69,"security_score":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"arewa-apk-apps-manager","Arewa APK Apps Manager","1.0.4","arewadev","https:\u002F\u002Fprofiles.wordpress.org\u002Farewadev\u002F","\u003Cp>Arewa APK Apps Managerp is a comprehensive, feature-rich WordPress plugin designed to help you create and manage a professional APK app directory on your WordPress website. Whether you’re an app developer showcasing your own applications, running an app store, or building a platform to distribute Android applications, this plugin provides everything you need to create a beautiful, functional app directory.\u003C\u002Fp>\n\u003Cp>The plugin offers a complete solution for managing APK applications with an intuitive admin interface, multiple display options, and seamless integration with popular page builders. With built-in rating systems, comment management, and SEO optimization, Arewa APK App helps you create a professional app marketplace that engages users and drives downloads.\u003C\u002Fp>\n\u003Cp>Perfect for app developers, app stores, tech blogs, review sites, or anyone looking to showcase and distribute Android applications. The plugin is fully responsive, mobile-friendly, and designed with modern web standards in mind.\u003C\u002Fp>\n\u003Cp>This plugin does not host APK files.\u003Cbr \u002F>\nIt only provides an application directory and external links.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Complete App Management\u003C\u002Fstrong>: Create and manage unlimited APK apps with detailed information including app name, version, icon, screenshots, feature graphics, and download URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Star Rating System\u003C\u002Fstrong>: Built-in 5-star rating system with user reviews and comments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comments & Reviews\u003C\u002Fstrong>: Full-featured comment system with helpful\u002Fnot helpful voting, admin replies, and approval workflow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Display Modes\u003C\u002Fstrong>: Display apps in single view, archive\u002Flist grid, or modern carousel format\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong>: Fully responsive layouts that work perfectly on desktop, tablet, and mobile devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Support\u003C\u002Fstrong>: Easy-to-use shortcodes for displaying apps anywhere on your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor Integration\u003C\u002Fstrong>: Native Elementor widget for drag-and-drop page building\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Category & Tag System\u003C\u002Fstrong>: Organize apps with categories and tags (20 default categories and 45 default tags included)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Display\u003C\u002Fstrong>: Control which elements to show (icon, version, rating, categories, download button, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Friendly\u003C\u002Fstrong>: Built-in SEO support with structured data (SoftwareApplication schema)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download Tracking\u003C\u002Fstrong>: Track download counts for each app\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pagination\u003C\u002Fstrong>: Built-in pagination for archive and list views\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern UI\u002FUX\u003C\u002Fstrong>: Clean, modern interface with smooth animations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import\u002FExport\u003C\u002Fstrong>: Backup and restore your app data with one click\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Dashboard\u003C\u002Fstrong>: Comprehensive admin interface for managing all aspects of your app directory\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Fields\u003C\u002Fstrong>: Store detailed app information including version, download URLs, screenshots, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Defaults\u003C\u002Fstrong>: 20 pre-configured categories and 45 tags created automatically on activation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Single Category Selection\u003C\u002Fstrong>: Simplified category management – one category per app for better organization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tag System\u003C\u002Fstrong>: Flexible tagging system with up to 10 tags per app for detailed categorization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download Counter\u003C\u002Fstrong>: Track and display download statistics for each app\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comment Moderation\u003C\u002Fstrong>: Full control over user comments with approval workflow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Replies\u003C\u002Fstrong>: Respond to user comments directly from the admin panel\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Voting System\u003C\u002Fstrong>: Users can vote comments as helpful or not helpful\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Avatar Support\u003C\u002Fstrong>: Users can upload avatars with their comments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pagination Support\u003C\u002Fstrong>: Built-in pagination for both archive and shortcode displays\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Templates\u003C\u002Fstrong>: Override default templates with your theme’s templates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong>: Fully prepared for translation with .pot file support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Display Modes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single App Display\u003C\u002Fstrong>: Show detailed information about a single app\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Archive\u002FList Display\u003C\u002Fstrong>: Display multiple apps in a responsive grid layout (8 columns desktop, 4 tablet, 3 mobile)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Carousel Display\u003C\u002Fstrong>: Beautiful carousel with full-screen background images, perfect for featured apps\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcode Examples\u003C\u002Fh4>\n\u003Cp>Display a single app:\u003Cbr \u002F>\n    [arewa_apk_app]\u003C\u002Fp>\n\u003Cp>Display apps in a list:\u003Cbr \u002F>\n    [arewa_apk_app display=”list” posts_per_page=”12″ title=”Featured Apps”]\u003C\u002Fp>\n\u003Cp>Display apps in a carousel:\u003Cbr \u002F>\n    [arewa_apk_app display=”carousel” limit=”10″ title=”Recommended for you”]\u003C\u002Fp>\n\u003Cp>Filter by category:\u003Cbr \u002F>\n    [arewa_apk_app display=”list” category=”games”]\u003C\u002Fp>\n\u003Ch4>Elementor Widget\u003C\u002Fh4>\n\u003Cp>The plugin includes a native Elementor widget that allows you to easily add app displays to your pages using Elementor’s drag-and-drop interface. Customize the display options and styles directly from the Elementor editor.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Using the Elementor Widget:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Edit a page with Elementor\u003C\u002Fli>\n\u003Cli>Search for “Arewa APK App” in the widget panel\u003C\u002Fli>\n\u003Cli>Drag and drop the widget to your desired location\u003C\u002Fli>\n\u003Cli>Configure the widget settings:\n\u003Cul>\n\u003Cli>Archive Title: Set a custom title for the app list\u003C\u002Fli>\n\u003Cli>Archive Description: Add a description (optional)\u003C\u002Fli>\n\u003Cli>Category Filter: Filter apps by category slug (optional)\u003C\u002Fli>\n\u003Cli>Posts Per Page: Set how many apps to display per page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Customize styles using Elementor’s style controls\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The widget displays apps in the same beautiful grid layout as the shortcode, ensuring consistency across your site.\u003C\u002Fp>\n\u003Ch4>Theme Compatibility & Recommendations\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Recommended Themes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For the best experience with Arewa APK Apps Manager, we highly recommend using themes that work seamlessly with the plugin’s layout system:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Blocksy Theme\u003C\u002Fstrong>: Blocksy is highly recommended for use with this plugin. It provides optimal spacing and padding that works perfectly with the plugin’s archive container, ensuring your app listings display beautifully without excessive padding or spacing issues.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Elementor Plugin\u003C\u002Fstrong>: When using Elementor page builder, the plugin integrates seamlessly. The shortcode displays work perfectly within Elementor’s layout system, and the native Elementor widget provides drag-and-drop functionality for easy page building.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Why These Work Best:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin’s archive container (\u003Ccode>arewa-apk-archive-container\u003C\u002Fcode>) is designed to display apps in a clean, full-width grid layout. Some themes add excessive padding or container constraints that can affect the display. Blocksy and Elementor are optimized to work with the plugin’s CSS, ensuring:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Proper full-width display for archive and shortcode views\u003C\u002Fli>\n\u003Cli>Minimal padding that doesn’t interfere with the grid layout\u003C\u002Fli>\n\u003Cli>Clean, professional appearance that matches the plugin’s design\u003C\u002Fli>\n\u003Cli>Responsive behavior that works across all device sizes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Working with Other Themes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin includes aggressive CSS overrides to ensure compatibility with most themes. However, if you experience spacing or padding issues with other themes, you can:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Use the shortcode display mode instead of the archive page\u003C\u002Fli>\n\u003Cli>Add custom CSS to override theme-specific padding\u003C\u002Fli>\n\u003Cli>Consider using a page builder like Elementor for more control over layout\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Theme Requirements:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Modern WordPress theme (compatible with WordPress 5.0+)\u003C\u002Fli>\n\u003Cli>Support for custom post types\u003C\u002Fli>\n\u003Cli>Responsive design (the plugin is fully responsive)\u003C\u002Fli>\n\u003Cli>No excessive container padding (the plugin handles spacing internally)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.2 or higher\u003C\u002Fli>\n\u003Cli>Modern WordPress theme (Blocksy or Elementor recommended for best results)\u003C\u002Fli>\n\u003Cli>(Optional) Elementor for widget support and enhanced page building capabilities\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Usage\u003C\u002Fh3>\n\u003Ch4>Customizing Display Elements\u003C\u002Fh4>\n\u003Cp>Control which elements appear in your app listings by going to \u003Cstrong>APK Apps > Plugin Settings > Archive List Display Settings\u003C\u002Fstrong>. You can show\u002Fhide:\u003Cbr \u002F>\n* Download Button\u003Cbr \u002F>\n* Short Description\u003Cbr \u002F>\n* Categories\u003Cbr \u002F>\n* Version\u003Cbr \u002F>\n* Last Updated Date\u003Cbr \u002F>\n* Download Count\u003Cbr \u002F>\n* Rating\u003Cbr \u002F>\n* Excerpt\u003C\u002Fp>\n\u003Ch4>Using Shortcodes in Widgets\u003C\u002Fh4>\n\u003Cp>You can use the shortcode in any WordPress widget area:\u003Cbr \u002F>\n1. Go to \u003Cstrong>Appearance > Widgets\u003C\u002Fstrong>\u003Cbr \u002F>\n2. Add a “Text” or “Shortcode” widget\u003Cbr \u002F>\n3. Insert your shortcode: \u003Ccode>[arewa_apk_app display=\"list\"]\u003C\u002Fcode>\u003Cbr \u002F>\n4. Save the widget\u003C\u002Fp>\n\u003Ch4>Creating Custom Archive Pages\u003C\u002Fh4>\n\u003Cp>Instead of using the default archive page, you can create a custom page:\u003Cbr \u002F>\n1. Create a new page in WordPress\u003Cbr \u002F>\n2. Add the shortcode: \u003Ccode>[arewa_apk_app display=\"list\"]\u003C\u002Fcode>\u003Cbr \u002F>\n3. Customize the title and description using shortcode attributes\u003Cbr \u002F>\n4. Set this page as your apps archive page\u003C\u002Fp>\n\u003Ch4>Filtering Apps by Category\u003C\u002Fh4>\n\u003Cp>Display apps from a specific category:\u003Cbr \u002F>\n    [arewa_apk_app display=”list” category=”games”]\u003C\u002Fp>\n\u003Cp>Display apps in a carousel from a specific category:\u003Cbr \u002F>\n    [arewa_apk_app display=”carousel” category=”entertainment” limit=”6″]\u003C\u002Fp>\n\u003Ch4>Combining Multiple Shortcodes\u003C\u002Fh4>\n\u003Cp>You can use multiple shortcodes on the same page:\u003Cbr \u002F>\n* Featured apps carousel at the top\u003Cbr \u002F>\n* Category-specific lists below\u003Cbr \u002F>\n* Single app highlights\u003C\u002Fp>\n\u003Cp>Example layout:\u003Cbr \u002F>\n    \u003Ccode>[arewa_apk_app display=\"carousel\" limit=\"6\" title=\"Featured Apps\"]\u003Cbr \u002F>\n[arewa_apk_app display=\"list\" category=\"games\" title=\"Popular Games\"]\u003Cbr \u002F>\n[arewa_apk_app display=\"list\" category=\"productivity\" title=\"Productivity Apps\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>SEO Optimization\u003C\u002Fh4>\n\u003Cp>The plugin automatically adds SoftwareApplication structured data to your app pages, which helps search engines understand your content. The plugin works alongside popular SEO plugins:\u003Cbr \u002F>\n* Yoast SEO\u003Cbr \u002F>\n* Rank Math SEO\u003Cbr \u002F>\n* All in One SEO Pack\u003Cbr \u002F>\n* SEOPress\u003Cbr \u002F>\n* The SEO Framework\u003C\u002Fp>\n\u003Cp>The plugin adds app-specific schema while your SEO plugin handles general page optimization.\u003C\u002Fp>\n\u003Ch4>Performance Tips\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Use appropriate image sizes (512×512 for icons, 1920×1080 for feature graphics)\u003C\u002Fli>\n\u003Cli>Optimize images before uploading\u003C\u002Fli>\n\u003Cli>Use a caching plugin for better performance\u003C\u002Fli>\n\u003Cli>Limit the number of apps per page if you have many apps\u003C\u002Fli>\n\u003Cli>Use category filtering to display relevant apps\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Troubleshooting\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Apps not displaying correctly:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Check that all required fields are filled in\u003Cbr \u002F>\n* Verify the app is published (not in draft)\u003Cbr \u002F>\n* Clear your browser cache\u003Cbr \u002F>\n* Check for theme conflicts\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shortcode not working:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Ensure the shortcode syntax is correct\u003Cbr \u002F>\n* Check that the app exists and is published\u003Cbr \u002F>\n* Try deactivating other plugins to check for conflicts\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Spacing or padding issues:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Use Blocksy theme or Elementor for best results\u003Cbr \u002F>\n* The plugin includes CSS overrides, but some themes may need additional customization\u003Cbr \u002F>\n* Use the shortcode display mode instead of archive page if needed\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit the plugin support forum or contact the developer.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Getting Help:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Check the FAQ section above\u003Cbr \u002F>\n* Review the plugin documentation\u003Cbr \u002F>\n* Visit the support forum\u003Cbr \u002F>\n* Contact the developer directly\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Reporting Issues:\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen reporting issues, please include:\u003Cbr \u002F>\n* WordPress version\u003Cbr \u002F>\n* PHP version\u003Cbr \u002F>\n* Theme name and version\u003Cbr \u002F>\n* List of active plugins\u003Cbr \u002F>\n* Steps to reproduce the issue\u003Cbr \u002F>\n* Screenshots if applicable\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by A-Said\u003Cbr \u002F>\nWebsite: https:\u002F\u002Farewa.dev\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Special Thanks:\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress community for the excellent platform\u003Cbr \u002F>\n* All beta testers and users who provided feedback\u003Cbr \u002F>\n* Theme developers for Blocksy and Elementor for excellent compatibility\u003C\u002Fp>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Plugin Structure:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe plugin follows WordPress coding standards and best practices:\u003Cbr \u002F>\n* Organized file structure with separate folders for admin, frontend, and templates\u003Cbr \u002F>\n* Clean, commented code for easy maintenance\u003Cbr \u002F>\n* Translation-ready with .pot file included\u003Cbr \u002F>\n* Follows WordPress security best practices\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compatibility:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Tested with WordPress 5.0 through 6.4\u003Cbr \u002F>\n* Compatible with PHP 7.2 through 8.2+\u003Cbr \u002F>\n* Works with all modern WordPress themes\u003Cbr \u002F>\n* Optimized for Blocksy and Elementor themes\u002Fbuilders\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Security:\u003C\u002Fstrong>\u003Cbr \u002F>\n* All user inputs are sanitized and validated\u003Cbr \u002F>\n* Nonces used for all form submissions\u003Cbr \u002F>\n* SQL queries use prepared statements\u003Cbr \u002F>\n* Follows WordPress security guidelines\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Optimized database queries\u003Cbr \u002F>\n* Efficient CSS and JavaScript loading\u003Cbr \u002F>\n* Minimal impact on page load times\u003Cbr \u002F>\n* Caching-friendly code structure\u003C\u002Fp>\n","A professional WordPress plugin to display and manage APK apps on your WordPress site with ratings, comments, carousel display, and Elementor support.",10,155,"2026-01-11T10:22:00.000Z","5.0","7.2",[19,20,66,22,67],"app","mobile","https:\u002F\u002Farewa.dev\u002Farewa-apk-apps-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farewa-apk-apps-manager.1.0.4.zip",{"slug":71,"name":72,"version":73,"author":74,"author_profile":75,"description":76,"short_description":77,"active_installs":78,"downloaded":79,"rating":80,"num_ratings":81,"last_updated":82,"tested_up_to":15,"requires_at_least":83,"requires_php":84,"tags":85,"homepage":91,"download_link":92,"security_score":25,"vuln_count":13,"unpatched_count":27,"last_vuln_date":93,"fetched_at":29},"super-progressive-web-apps","Super Progressive Web Apps","2.2.42","SuperPWA","https:\u002F\u002Fprofiles.wordpress.org\u002Fsuperpwa\u002F","\u003Cp>Progressive Web Apps (PWA) is a new technology that combines the best of mobile web and the best of mobile apps to create a superior mobile web experience. They are installed on the phone like a normal app (web app) and can be accessed from the home screen.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002F\" rel=\"nofollow ugc\">Home\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Help\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002F#pro-doc\" rel=\"nofollow ugc\">Premium version Features\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Users can come back to your website by launching the app from their home screen and interact with your website through an app-like interface. Your return visitors will experience almost-instant loading times and enjoy the great performance benefits of your PWA!\u003C\u002Fp>\n\u003Cp>Super Progressive Web Apps makes it easy for you to convert your WordPress website into a Progressive Web App instantly!\u003C\u002Fp>\n\u003Cp>Once SuperPWA is installed, users browsing your website from a supported mobile device will see a “Add To Home Screen” notice (from the bottom of the screen) and will be able to ‘install your website’ on the home screen of their device. Every page visited is stored locally on their device and will be available to read even when they are offline!\u003C\u002Fp>\n\u003Cp>SuperPWA is easy to configure, it takes less than a minute to set-up your Progressive Web App! SuperPWA does a clean uninstall, by removing every database entry and file that it creates. In fact, none of the default settings are saved to the database until you manually save it the first time. Go ahead and give it a try.\u003C\u002Fp>\n\u003Cp>And the best part? If you ever get stuck, we are here to watch your back! \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsuper-progressive-web-apps\" rel=\"ugc\">Open a support\u003C\u002Fa> ticket if you have a question or need a feature. We are super excited to hear your feedback and we want to genuinely help you build the best Progressive Web App for your WordPress website!\u003C\u002Fp>\n\u003Ch4>Quick Demo?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Open up \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002F?utm_source=wordpress.org&utm_medium=description-demo\" rel=\"nofollow ugc\">SuperPWA.com\u003C\u002Fa> in a supported device. \u003C\u002Fli>\n\u003Cli>Add the website to your home screen either from the Add to Home Screen prompt (Chrome for Android) or from the browser menu. \u003C\u002Fli>\n\u003Cli>Open the app from your home screen and you will see the splash screen. \u003C\u002Fli>\n\u003Cli>Turn off your data and wifi to go offline and open up the app. You will still be able to see the app and browse the pages you have already visited. \u003C\u002Fli>\n\u003Cli>Browse to a page that you haven’t visited before. The offline page will be displayed. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Thank You PWA Enthusiasts!\u003C\u002Fh4>\n\u003Cp>We are humbled by the feedback from the community. Thanks to everyone who believed in us and tried our plugin. Your feedback has been invaluable and we have learned a lot from your experience. Thank you for your love and support and we hope to return the love by striving to bring you the best ever Progressive Web Apps plugin for WordPress!\u003C\u002Fp>\n\u003Ch3>What’s in the box\u003C\u002Fh3>\n\u003Cp>Here are the current features of Super Progressive Web Apps:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Generate a manifest for your website and add it to the head of your website.\u003C\u002Fli>\n\u003Cli>Set the application icon for your Progressive Web App. \u003C\u002Fli>\n\u003Cli>Set the background color for the splash screen of your Progressive Web App. \u003C\u002Fli>\n\u003Cli>Your website will show the “Add to home screen” notice when accessed in a supported browser.\u003C\u002Fli>\n\u003Cli>Aggressive caching of pages using CacheStorage API.\u003C\u002Fli>\n\u003Cli>Pages once cached are served even if the user is offline. \u003C\u002Fli>\n\u003Cli>Set custom offline page: Select the page you want the user to see when a page that isn’t in the cache is accessed and the user is offline.\u003C\u002Fli>\n\u003Cli>New in version 1.2: Support for theme-color meta property. Change the color of browser address bar of Chrome, Firefox OS and Opera to match your website colors. \u003C\u002Fli>\n\u003Cli>New in version 1.2: Now you can edit the Application Name and Application Short name.\u003C\u002Fli>\n\u003Cli>New in version 1.2: Set the start page of your PWA.\u003C\u002Fli>\n\u003Cli>New in version 1.2: Set Accelerated Mobile Pages (AMP) version of the start page. Supported plugins: AMP for WordPress, AMP for WP, Better AMP, AMP Supremacy, WP AMP.\u003C\u002Fli>\n\u003Cli>New in version 1.3: Added support for high-quality splash screen. You can now set the 512×512 icon for the splash screen of your Progressive Web App.\u003C\u002Fli>\n\u003Cli>New in version 1.3: Super Progressive Web Apps now accounts for content updates and will update the cache as you update the website. \u003C\u002Fli>\n\u003Cli>New in version 1.3: Improved in-browser service worker update handling.\u003C\u002Fli>\n\u003Cli>New in version 1.4: You can now set the default orientation of your PWA. Choose from “any” (Follow Device Orientation), “Portrait” and “Landscape”.\u003C\u002Fli>\n\u003Cli>New in version 1.4: You can now set the theme_color property in the manifest.\u003C\u002Fli>\n\u003Cli>New in version 1.5: OneSignal integration for Push notifications.\u003C\u002Fli>\n\u003Cli>New in version 1.6: WordPress Multisite Network compatibility. \u003C\u002Fli>\n\u003Cli>New in version 1.7: Add-Ons for SuperPWA is here! Ships with \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Faddons\u002Futm-tracking\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">UTM Tracking Add-On\u003C\u002Fa> to track visits coming from your PWA.\u003C\u002Fli>\n\u003Cli>New in version 1.8: Compatibility issues with OneSignal are now resolved! \u003C\u002Fli>\n\u003Cli>New in version 1.8: New Add-On: \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Faddons\u002Fapple-touch-icons\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Apple Touch Icons\u003C\u002Fa> that sets your app icons as Apple Touch Icons. \u003C\u002Fli>\n\u003Cli>New in version 2.0: SuperPWA is now compatible with WordPress installed in a sub-folder. \u003C\u002Fli>\n\u003Cli>New in version 2.0: You can now set \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdoc\u002Fweb-app-manifest-display-modes\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">display property\u003C\u002Fa> from SuperPWA settings.\u003C\u002Fli>\n\u003Cli>New in version 2.1.1: SuperPWA now supports Maskable Icons.\u003C\u002Fli>\n\u003Cli>New in version 2.1.15: SuperPWA now supports Monochrome Icon.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fchangelog\u002F\" rel=\"nofollow ugc\">Full changelog\u003C\u002Fa> \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Upcoming features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Offline Indicator Notice.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PRO Version\u003C\u002Fstrong> support additional \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">advance feature\u003C\u002Fa>\u003Cbr \u002F>\n* Call To Action (CTA) \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdoc\u002Fcall-to-action-cta-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003Cbr \u002F>\n* Android APK APP Generator \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdoc\u002Fandroid-apk-app-generator-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003Cbr \u002F>\n* Data Analytics \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdoc\u002Fdata-analytics-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003Cbr \u002F>\n* Pre-Loader \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002Farticle\u002Fpreloader-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003Cbr \u002F>\n* App Shortcuts \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002Farticle\u002Fapp-shortcuts-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003Cbr \u002F>\n* QR Code Generator \u003Ca href=\"https:\u002F\u002Fsuperpwa.com\u002Fdocs\u002Farticle\u002Fqr-code-generator-add-on-for-superpwa\u002F\" rel=\"nofollow ugc\">More Info\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Progressive Web App Minimum Requirements\u003C\u002Fh3>\n\u003Cp>Progressive Web Apps require that your WordPress website is served from a secure origin i.e. your website should be HTTPS and not HTTP. If your website isn’t HTTPS, please contact your host about it. You can also \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsuper-progressive-web-apps\" rel=\"ugc\">ask us\u003C\u002Fa> if you need help.\u003C\u002Fp>\n\u003Ch3>Device and Browser Support For PWA\u003C\u002Fh3>\n\u003Cp>Progressive web apps need browsers that support manifests and service workers. Currently Google Chrome (version 57+), Chrome for Android (62), Mozilla Firefox (57), Firefox for Android (58) are the major browsers that support PWA.\u003C\u002Fp>\n\u003Cp>The list is fast growing and is likely to be supported in most major browsers by the end of this year.\u003C\u002Fp>\n\u003Ch3>How To Convert Your WordPress Website Into A Progressive Web App\u003C\u002Fh3>\n\u003Ch4>WordPress Installation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Visit WordPress Admin > Plugins > Add New\u003C\u002Fli>\n\u003Cli>Search for ‘Super Progressive Web Apps’\u003C\u002Fli>\n\u003Cli>Click “Install Now” and then “Activate” Super Progressive Web Apps\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To install manually:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload super-progressive-web-apps folder to the \u002Fwp-content\u002Fplugins\u002F directory on your server\u003C\u002Fli>\n\u003Cli>Go to WordPress Admin > Plugins\u003C\u002Fli>\n\u003Cli>Activate Super Progressive Web Apps plugin from the list.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Customizing Your Progressive Web App\u003C\u002Fh4>\n\u003Cp>Your Progressive Web App should be ready to test with the default settings on activation. You can customize it further and make it truly your own.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Go to WordPress Admin > SuperPWA\u003C\u002Fli>\n\u003Cli>Set a Background Color for the splash screen to be shown when your PWA is opened on a mobile device.\u003C\u002Fli>\n\u003Cli>Set the Application Icon. This will be the icon of your PWA when it is added to the homescreen in a mobile device. The icon must be a PNG image and exactly 192 x 192 pixels in size.\u003C\u002Fli>\n\u003Cli>Set the Offline Page. This page will be displayed if the user is offline and the page he requested is not cached already. Ideally you should create a dedicated WordPress page and set it here. Within the page you create, you could add a note that reads, “It looks like you are offline and the page you requested is not available right now. Please check back again once you are online.”. \u003C\u002Fli>\n\u003Cli>Click “Save Settings”.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Testing Your Progressive Web App\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Open a supported browser in a supported device (for eg: Chrome for Android (62 or higher) in an Android Phone)\u003C\u002Fli>\n\u003Cli>Enter your website and wait till it fully loads\u003C\u002Fli>\n\u003Cli>You should see a pop-up that has your Application Icon and a button that reads “ADD TO HOME SCREEN”.\u003C\u002Fli>\n\u003Cli>Click on it and your PWA will be added to your home screen. Wait for the install to complete. \u003C\u002Fli>\n\u003Cli>Go to your home screen and open your PWA. Browse into a few pages if you like. Close the App.\u003C\u002Fli>\n\u003Cli>Disconnect from the internet and now open your PWA again. You should be able to see all the pages that you previously browsed. \u003C\u002Fli>\n\u003Cli>Try visiting a page that you did not visit before. You should see the page you set as your “Offline Page” in the settings of SuperPWA. \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Troubleshooting Your Progressive Web App\u003C\u002Fh4>\n\u003Cp>Uh, oh. Your PWA did not work as expected? You do not see the “Add to Home Screen” notice?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Make sure your website has a SSL certificate installed. i.e. your website should be https instead of http (as in https:\u002F\u002Fyour-domain.com).\u003C\u002Fli>\n\u003Cli>Make sure you are using a supported device and a supported browser. Refer to the “Device and Browser Support For PWA” list above.\u003C\u002Fli>\n\u003Cli>Make sure your Application Icon and Splash Screen Icon’s are of PNG format and 192px X 192px and 512px X 512px in size respectively. \u003C\u002Fli>\n\u003Cli>Clear the browser cache and try again. In Chrome for Android, go to Settings > Privacy > “Clear browsing data”.\u003C\u002Fli>\n\u003Cli>If the application icon does not update after first install, delete the PWA from your phone, clear browser cache and install again. (We are working on making it better.) \u003C\u002Fli>\n\u003Cli>Create a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsuper-progressive-web-apps\" rel=\"ugc\">new support ticket\u003C\u002Fa> and share a link to your website. We will take a look and figure it out for you.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Feature Requests, Issues, Pull Requests\u003C\u002Fh3>\n\u003Cp>Here is our repository on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSuperPWA\u002FSuper-Progressive-Web-Apps\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Send us your pull requests, feature requests or issues, if any.\u003C\u002Fp>\n\u003Ch3>About us\u003C\u002Fh3>\n\u003Cp>We are a duo who got excited about the idea. Our mission is simple: Help you build an awesome PWA that your users would want to have on their home screen.\u003C\u002Fp>\n\u003Cp>When we first heard about PWA we wanted to learn everything about it. We have spent countless hours learning and wants to share it with the world.\u003C\u002Fp>\n\u003Cp>Please give us your constructive feedback and support.\u003C\u002Fp>\n","SuperPWA helps you convert your WordPress website into a Progressive Web App instantly.",50000,2278059,92,224,"2026-02-09T14:37:00.000Z","3.6.0","5.3",[86,87,88,89,90],"add-to-homescreen","android-app","chrome-app","progressive-web-apps","pwa","https:\u002F\u002Fsuperpwa.com\u002F?utm_source=superpwa-plugin&utm_medium=plugin-uri","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsuper-progressive-web-apps.2.2.42.zip","2023-11-22 00:00:00",{"slug":95,"name":96,"version":97,"author":96,"author_profile":98,"description":99,"short_description":100,"active_installs":101,"downloaded":102,"rating":11,"num_ratings":103,"last_updated":104,"tested_up_to":15,"requires_at_least":105,"requires_php":17,"tags":106,"homepage":110,"download_link":111,"security_score":112,"vuln_count":13,"unpatched_count":27,"last_vuln_date":113,"fetched_at":29},"goodbarber","GoodBarber","1.0.28","https:\u002F\u002Fprofiles.wordpress.org\u002Fgoodbarber\u002F","\u003Cp>GoodBarber plugin is a fork of JSON API created by dphiffer.\u003Cbr \u002F>\nGoodBarber plugin creates a communication interface between your WordPress and your GoodBarber account.\u003Cbr \u002F>\nIt is used to retrieve content from your WordPress so that you can sync it with your native app created with GoodBarber.\u003C\u002Fp>\n","GoodBarber plugin allows you to retrieve WordPress content in order to create a native app for iOS and\u002For Android",1000,79584,3,"2026-03-09T13:18:00.000Z","2.8",[19,95,107,108,109],"ios","json","native-apps","https:\u002F\u002Fwww.goodbarber.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgoodbarber.zip",98,"2025-04-16 00:00:00",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":11,"downloaded":122,"rating":27,"num_ratings":27,"last_updated":123,"tested_up_to":124,"requires_at_least":125,"requires_php":17,"tags":126,"homepage":128,"download_link":129,"security_score":130,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"web-manifest","Web Manifest","1.1.0","fro1d","https:\u002F\u002Fprofiles.wordpress.org\u002Ffro1d\u002F","\u003Cp>This plugin allows to create and configure a web-app manifest file (manifest.json). Web app manifests are part of a collection of web technologies called progressive web apps. Its provides information about an application (such as name, author, icon, and description) in a JSON text file. The purpose of the manifest is to install web applications to the homescreen of a device, providing users with quicker access and a richer experience. \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FManifest\" rel=\"nofollow ugc\">More info\u003C\u002Fa> about web manifests.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set manifest.json settings based on the site general settings.\u003C\u002Fli>\n\u003Cli>Live preview of how your manifest’s settings will affect to your site’s appearance.\u003C\u002Fli>\n\u003C\u002Ful>\n","Allows to create and configure a web-app manifest file (manifest.json).",3963,"2017-12-18T23:02:00.000Z","4.9.29","4.7",[19,67,127,89,115],"mobile-web","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fweb-manifest","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fweb-manifest.1.1.0.zip",85,{"slug":132,"name":133,"version":134,"author":135,"author_profile":136,"description":137,"short_description":138,"active_installs":139,"downloaded":140,"rating":141,"num_ratings":103,"last_updated":142,"tested_up_to":143,"requires_at_least":105,"requires_php":17,"tags":144,"homepage":17,"download_link":146,"security_score":130,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"ideapress-json-api","IdeaPress – Turn WordPress into Mobile Apps (Android, iPhone, WinPhone)","1.0.0","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,"2014-02-06T23:52:00.000Z","3.4.2",[19,21,107,67,145],"mobile-app","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fideapress-json-api.zip",{"attackSurface":148,"codeSignals":177,"taintFlows":184,"riskAssessment":212,"analyzedAt":221},{"hooks":149,"ajaxHandlers":169,"restRoutes":170,"shortcodes":171,"cronEvents":176,"entryPointCount":26,"unprotectedCount":27},[150,156,161,165],{"type":151,"name":152,"callback":153,"file":154,"line":155},"action","wp_enqueue_scripts","enqueue_script","uptodown_wp_widget.php",22,{"type":157,"name":158,"callback":159,"file":154,"line":160},"filter","the_content","setWidgetByPSIDs",23,{"type":151,"name":162,"callback":163,"file":154,"line":164},"admin_menu","add_plugin_page",150,{"type":151,"name":166,"callback":167,"file":154,"line":168},"admin_init","page_init",151,[],[],[172],{"tag":173,"callback":174,"file":154,"line":175},"utd-widget","shortcode_translator",21,[],{"dangerousFunctions":178,"sqlUsage":179,"outputEscaping":181,"fileOperations":27,"externalRequests":27,"nonceChecks":26,"capabilityChecks":27,"bundledLibraries":183},[],{"prepared":26,"raw":27,"locations":180},[],{"escaped":60,"rawEcho":27,"locations":182},[],[],[185,204],{"entryPoint":186,"graph":187,"unsanitizedCount":27,"severity":203},"check_options (uptodown_wp_widget.php:155)",{"nodes":188,"edges":200},[189,194],{"id":190,"type":191,"label":192,"file":154,"line":193},"n0","source","$_POST",158,{"id":195,"type":196,"label":197,"file":154,"line":198,"wp_function":199},"n1","sink","update_option() [Settings Manipulation]",166,"update_option",[201],{"from":190,"to":195,"sanitized":202},true,"low",{"entryPoint":205,"graph":206,"unsanitizedCount":27,"severity":203},"\u003Cuptodown_wp_widget> (uptodown_wp_widget.php:0)",{"nodes":207,"edges":210},[208,209],{"id":190,"type":191,"label":192,"file":154,"line":193},{"id":195,"type":196,"label":197,"file":154,"line":198,"wp_function":199},[211],{"from":190,"to":195,"sanitized":202},{"summary":213,"deductions":214},"The uptodown-apk-download-widget plugin exhibits a generally good security posture based on the static analysis.  The absence of dangerous functions, SQL injection vulnerabilities, improper output escaping, and file operations are positive indicators. Furthermore, the code employs prepared statements for its SQL queries and includes nonce checks, which are important security practices. The lack of external HTTP requests also reduces potential attack vectors.\n\nHowever, the plugin's vulnerability history reveals a past medium-severity Cross-Site Scripting (XSS) vulnerability. While this vulnerability is currently patched, its existence suggests that the plugin's developers may have had past challenges in fully sanitizing user input. The static analysis did not reveal any unsanitized taint flows, which is reassuring, but the historical context warrants continued vigilance.\n\nIn conclusion, while the current version of the plugin demonstrates strong adherence to secure coding principles in its static analysis, the past XSS vulnerability is a point of concern. The absence of capability checks for its single shortcode entry point could also be a potential oversight, depending on the functionality it exposes. Overall, the plugin is in a decent state, but the historical vulnerability should not be entirely dismissed.",[215,218],{"reason":216,"points":217},"Missing capability checks on entry points",5,{"reason":219,"points":220},"Past medium-severity XSS vulnerability history",7,"2026-03-16T20:59:14.130Z",{"wat":223,"direct":230},{"assetPaths":224,"generatorPatterns":226,"scriptPaths":227,"versionParams":229},[225],"\u002Fwp-content\u002Fplugins\u002Fuptodown-apk-download-widget\u002Fsimplehtmldom\u002Fsimple_html_dom.php",[],[228],"\u002F\u002Fapi.uptodown.com\u002F",[],{"cssClasses":231,"htmlComments":233,"htmlAttributes":234,"restEndpoints":236,"jsGlobals":237,"shortcodeOutput":238},[232],"utd_widget",[],[235],"data-packagename",[],[],[239],"\u003Cdiv class=\"utd_widget\" data-packagename=\""]