[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPcQ76szCpVnXImf-HTE_XzS_GYmUSG674cjb5bUy1TE":3,"$fubGaNN56Mc5liolpvfX23OB49fkN9w7PBy5qjpjQfDY":690,"$fDL-lbAhs0joAaVQPsAVL0E_ZEEjB1g4O78tbNYTQlOI":694},{"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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":37,"analysis":140,"fingerprints":667},"appful","appful Mobile App Plugin [OLD – NEW VERSION BELOW]","1.1.2","Oskar Neumann","https:\u002F\u002Fprofiles.wordpress.org\u002Foskarn97\u002F","\u003Cp>\u003Cstrong>This version of the appful plugin is old and will not be supported in the future. Please use our new plugin that can be found here: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fappful-app\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fappful-app\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fappful.io\u002F\" title=\"Create mobile iPhone & iPad Apps\" rel=\"nofollow ugc\">appful\u003C\u002Fa>® is a SaaS company focused on enterprise software. Our mission is to help companies, publishers & magazines to reach their customers, employees & users with their content – through one of the most powerful content channel: mobile apps.\u003C\u002Fstrong>\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\u002Fqix0SjXjb-M?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\u003Ch4>Why is appful different?\u003C\u002Fh4>\n\u003Cp>Forget monotonous mobile App Builder with one or two cheap-looking templates and a range of unnecessary functions, because they will never have a chance against native mobile apps from professional app agencies. However, agencies are slow, offer a weak background system in most cases, and are extremely expensive.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>So we thought, there needs to be another, better way\u003C\u002Fstrong> – so here we are: appful represents the golden mean between mobile App Builders and agencies. We offer a selection of different \u003Cstrong>Top-Notch mobile App Designs for a fair price\u003C\u002Fstrong>. In the case that you would like to have a \u003Cstrong>completely custom design\u003C\u002Fstrong>, we are happy to do that for you. You are still not convinced yet? Try it yourself for free as long as you like. Only as soon as you like to publish your mobile app to the App Store, we charge affordable fees.\u003C\u002Fp>\n\u003Cp>For any questions, don’t hesitate to \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fappful.io\u002Fcontact\u002F\" title=\"Get in touch!\" rel=\"nofollow ugc\">get in touch\u003C\u002Fa>.\u003C\u002Fstrong> We would love to help make your dreams a reality!\u003C\u002Fp>\n\u003Ch4>Core Features of our native mobile Apps\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Read Later\u003C\u002Fli>\n\u003Cli>Comments\u003C\u002Fli>\n\u003Cli>Native Social Media Sharing\u003C\u002Fli>\n\u003Cli>Offline Reading\u003C\u002Fli>\n\u003Cli>YouTube Support\u003C\u002Fli>\n\u003Cli>Logo Placement\u003C\u002Fli>\n\u003Cli>Own Advertisement\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Benefits of a mobile App\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>More traffic\u003C\u002Fstrong> – Users who love your mobile app, will use it regularly \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Provide great user experience on mobile devices\u003C\u002Fstrong> – A mobile app feels better than a HTML mobile site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stronger connection to your community\u003C\u002Fstrong> – User will NOT only click at one article and leave again\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Earn more money\u003C\u002Fstrong> – AdBlockers can’t block the ads inside of your mobile app (Especially on iOS) \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Android app\u003C\u002Fstrong> – We offer both an mobile Android app and an mobile iOS App for your blog\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What our customers say about us\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>“My company was looking for a quick solution for launching a native mobile app for our WordPress site. We chose Appful because they offered the most beautiful app themes I found across the web. […] The team has been extremely helpful and responsive in walking us through the process to get our app into the app store. […] They truly go above and beyond to help you create a great app.”\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Jordan Lejuwaan – futurism.com\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>“We searched for a possibility to create an own mobile app for a long time. With appful this desire was more than satisfied! Top Service, super easy and above all a great mobile app!”\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Niclas Schmidt – iOSPilot.de\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>“The solution of appful.io is easy to use, has a modern and attractive design and offers all the features you might need. In addition, appful.io has the best value for money, not only for bloggers and YouTuber!”\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Renato Mitra – ApfelBlog.ch\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>What problem do we solve?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>As soon as publisher decide on setting up an mobile app they face the choice between monotonous low-quality “mobile app builders” lacking the opportunity to create custom designs, because they will never have a chance against mobile apps from professional mobile app agencies. However, agencies and freelancer are slow, changes can be implemented only by the developer and are tremendously expensive. We are a solution to this problem.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What is your solution?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>We combine all advantages of mobile app builders, freelancers and agencies and additionally clear up all disadvantages. Sounds great, but let us explain how we achieve this: We offer a sophisticated system allowing publishers to create their very own top-notch \u003Cstrong>native mobile app\u003C\u002Fstrong> for their WordPress blog or YouTube channel for ios and android. In addition to that we only charge a small monthly fee and take over the hosting and general technical care. Furthermore, if requested, we develop a completely distinct and exclusive own custom mobile app design hand in hand with our customers – the same applies to specific desired functions. appful represents the golden mean between mobile app builders and agencies.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>All Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PUSH – Unlimited Push Notification\u003C\u002Fli>\n\u003Cli>LIVE EDITING – Edit your mobile app live, when and where you like\u003C\u002Fli>\n\u003Cli>CACHING – Caching provides fantastic speed\u003C\u002Fli>\n\u003Cli>ADS – Place your own Advertisement inside your mobile app\u003C\u002Fli>\n\u003Cli>NATIVE COMMENTS – Top-notch mobile app comment system\u003C\u002Fli>\n\u003Cli>READ LATER – Save posts for later\u003C\u002Fli>\n\u003Cli>SOCIAL SHARING – Native Social Sharing Button\u003C\u002Fli>\n\u003Cli>TWITTER – Integrate Twitter profile page into your mobile app\u003C\u002Fli>\n\u003Cli>YOUTUBE – Automatic YouTube Video Import\u003C\u002Fli>\n\u003Cli>OFFLINE READING – Even offline, posts stay available in the mobile app\u003C\u002Fli>\n\u003Cli>IPAD – All our native mobile apps are iPad optimized\u003C\u002Fli>\n\u003Cli>APPLE WATCH – All our native mobile apps run on the Apple Watch\u003C\u002Fli>\n\u003Cli>GOOGLE ANALYTICS – Use Google Analytics to analyze your mobile app traffic\u003C\u002Fli>\n\u003Cli>SEARCH – Super fast search\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>High performance content caching\u003C\u002Fstrong>\u003Cbr \u002F>\nOur sophisticated, redundant high-performance network acquires a real-time cache of your whole blog content in order to provide the best user-experience possible for your mobile app. Multiple servers balance the load and traffic generated by users through our system and make sure that your WordPress blog will not experience any traffic peaks because of your content app. Therefore, your WordPress blog app will seamlessly integrate into your existing eco-system and lift the heavy load from your blog installation so you can focus on what is really important: Making an impact with content publishing. Adding to that, your readers or customers can enjoy the full power and speed of your native content app.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Native comments in your mobile app\u003C\u002Fstrong>\u003Cbr \u002F>\nAn elaborated native commenting system empowers you to integrate the best social interaction experience possible, right inside your mobile app on the user’s phone. Multiple solutions such as a native Disqus app integration or a native WordPress comment app integration make sure that users can interact and discuss with your whole community.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>How the magic works\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Install and activate the appful plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin enables us to import your blog content into your mobile app. Moreover, the mobile blog plugin of us makes it possible that changes to your content sync live with your mobile app.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Sign up at \u003Ca href=\"https:\u002F\u002Fappful.io\u002F\" title=\"Create mobile Blog Apps for iOS and Android\" rel=\"nofollow ugc\">appful.io\u003C\u002Fa> and create your mobile app\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>From your dashboard you can create your first mobile app for ios and android, choose a beautiful design and upload your logo to customise your mobile app. You’ll be able to add an icon and launch image later on in the process.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Preview & Test your mobile app\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>As soon as you are finished with your mobile app, you can download our \u003Ccode>appful\u003C\u002Fcode>-App from the App Store or Play Store in order to test your mobile app on your own mobile devices (iPhone, iPad and Android phones and tablets).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>4. Choose one of our plans and go live!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Finally, you click \u003Ccode>Test & Publish\u003C\u002Fcode> at the top of our Dashboard. Follow the final mobile app setup, choose one of our plans and place the order. In a matter of days we’ll submit your mobile app to App Store and Google Play Store.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Custom mobile App Design\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>A huge advantage of our \u003Cstrong>mobile app\u003C\u002Fstrong> solution is the option of a Custom-Design. In case, you wish to go live with a fully unique mobile app design, contact us, we can make this possible. We even can realize custom function for your mobile app.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Enterprise mobile app\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Since we have got great feedback of enterprise customers, we offer your company special enterpise plans in order to get your mobile app to the next level. Simply contact us!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ads in the mobile app\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>With a mobile app you have the full control about the displayed ads in your native mobile app. A Mobile app in our “Starter” plan is completely ad-free. With our plus and Business plan you can start earning money with your mobile app.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Thanks for your aweseome feedback. We have got surprising much and helpful suggestions regarding our mobile app system, our appful Dashboard and our mobile app. Keep on sending us your thoughts!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Mobile app for iOS and Android\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>In addition, we provide you with an own appful test-app. The mobile app for iOS and Android allows you to preview your just created mobile app on your own device. So use this opportunity to test your mobile app. You can adjust every detail and preview it right on your phone. This way, before you submit your mobile app into the store, you can make sure that everything works exactly like you want it to – no surpises. In addition to that, we provide exact statisticts on the use of your mobile app to create highest transperancy. Our aim is to make both our customers and their readers happy. Your mobile app will build brand cognizance. A mobile app for your business can greatly contribute to your brand vigilance.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why we started\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Mobile apps became one of the driving forces of modern civilization. Studies recently discovered that we spend more than 80% of our time on our mobile devices in mobile apps. As a result, bloggers are required to follow this trend and create a mobile app – otherwise they are not able to reach their audience. The most important feature of a mobile app is push notifications. Through them, bloggers can directly reach their audience. A mobile app has many advantages, however it is usually very expensive in development. Our aim was to create a real alternative and set a new standard in the process of creating a mobile app and we think that we succeeded. All of this thanks to a mobile app built in a couple of seconds utilizing our astonishing mobile app plugin for WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Who we are\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Two years ago, one member ran a blog and was desperatly looking for somebody that would develop him an mobile app for his blog. For the same reasons metioned above, he insisted on trying an mobile app in the form of an ios and android app because he was sure that a mobile app makes a huge difference in comparison to browsers. At first he did not find anybody who was able to develop his mobile app as an android app until he found the developer of our current team. We developed the mobile app together and it had tremendous success. We were so proud of our work and discovered a whole new world and everything that was possible in it – the world of mobile apps. What started as a little idea soon became a passion. We planned to build a company that provides the tools for bloggers to do the same. appful has been in development for 2 years and we are now very close friends. The love to mobile apps for ios and android and our passion is what keeps the company running. The times where you have to go to an agency and pay thousands of dollars to get a middle-class looking mobile app for ios and android are over. We provide you with a very affordable, stunning app for android and ios that can easily keep up with competitiors – more over your chances are good to get a very successful mobile app. We only take little fees to keep your app updated and running. Our mobile app company is now based in Germany and has a great success. We are very proud of what we already accomplished and looking forward to seeing what is going to follow. Be part of our story an try us free and get your own mobile app for your blog!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Differences between mobile apps and mobile sites\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>In every area of our lives we recognize the trend to mobiles devices and smartphones. Mobile Devices (Android Apps and iOS Apps) are everywhere and they are talking over task by task. We use a mobile app for communication, a mobile app for entertainment, a mobile app for booking, a mobile app for eating, a mobile app photos, a mobile app for meeting new people and especially a mobile app for getting informations and news on both android and ios.\u003Cbr \u002F>\nA mobile app accommodate many functions: they can provide general info, contact prices, reserve forms, search engines, utilizer accounts, heralds, news victuals, events, special deals and even more. Thanks to push notifications you can get even more proximate and directly interact from your mobile app to your client.\u003Cbr \u002F>\nMake it facile for your readers or customers to contact you – your mobile app plugin will avail you build better customer cognations.\u003Cbr \u002F>\nHaving a mobile app for is still quite recherche, this can give you a leap in advance against your competition.\u003Cbr \u002F>\nmobile App vs. mobile Web App vs. mobile site\u003C\u002Fp>\n\u003Cp>In every area of our lives we recognize the trend to mobiles devices and smartphones. Mobile Devices (Android Apps and iOS Apps) are everywhere and they are talking over task by task. We use a mobile app for communication, a mobile app for entertainment, a mobile app for booking, a mobile app for eating, a mobile app photos, a mobile app for meeting new people and especially a mobile app for getting informations and news on both android and ios.\u003C\u002Fp>\n\u003Cp>Did you know that we spend more than 80% in native mobile apps when we use our android and ios devices? As a result, less than 20% of our smartphone use time is spend in browsers where people read your blog, and the trend is growing towards a mobile app.\u003C\u002Fp>\n\u003Cp>If you are a publisher with a large audience and do not have a mobile app yet, your readers have no possibility to be up-to-date with your news. Only through a native mobile app you can unfilteredly reach your target group through push notifications. In addition to that, a native mobile app creates a whole different feeling when using it. It can use the core advantages of native software and access powerful frameworks and offer tremendous features.\u003C\u002Fp>\n\u003Cp>Since you are on our page, chances are that you have already tried out different mobile app builder solutions. You may have also noticed that a vast majority of mobile app builders are complex to use, look unprofessional and unclean and are very limited in both function and design. Furthermore, they are very expensive and often require a developer account that also costs more than 100$\u002Fyear. On top of that, they limit push notifications for your mobile app.\u003C\u002Fp>\n\u003Cp>We are bloggers ourselves and also discovered these issues when trying to create a mobile app. You can either use an overpriced mobile app builder or offer a professional agency that takes very long and is very expensive as well.\u003C\u002Fp>\n\u003Cp>So we thought there has to be a better way and we invented appful – the golden mean between mobile app builders and agencies for an android app and an ios app. We offer a strong background system, take care of the whole process of publishing, managing and updating your mobile app for ios and android and offer affordable prices. Furthermore we enable you to better monetize your mobile app for android and ios and earn more money. We do not limit push notifications. Once set up, you never have to worry about your mobile app again. Push notifications are sent completly automatically – no action required. In our strong analytics system you can watch your mobile app growing.\u003C\u002Fp>\n\u003Cp>The best thing is that we want you to be happy with your app so we decided not to charge any money until you are 100% satisfied and decide to release your mobile app for ios to the app store and your android app to the play store. You can try and experiment with every function and design your mobile app as long as you like for free and test your android app and ios app on your devices.\u003C\u002Fp>\n\u003Cp>Once you are content with your mobile app you can hand it over to us and we will take care of the remaining process. We will hand your iOS App over to Apple and your Android App to Google and offer strong servers that process the content of your mobile app. Your site does not have to struggle with an extra amount of traffic.\u003C\u002Fp>\n","Create a stunning native mobile App in 5 minutes. Mobile App for iPhone & Android. Try us for free!",30,52208,84,5,"2023-06-16T09:44:00.000Z","5.8.13","5.2","5.6.20",[20,21,22,23,24],"android","app","ios","mobile","mobile-app","https:\u002F\u002Fappful.io\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappful.1.1.2.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":35,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":11,"trust_score":13,"computed_at":36},"oskarn97",1,"2026-05-20T10:29:30.254Z",[38,62,84,102,120],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":28,"last_vuln_date":61,"fetched_at":30},"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,552078,96,161,"2025-12-02T15:54:00.000Z","6.9.4","3.7.0","5.6",[20,55,22,56,24],"android-app","ios-app","https:\u002F\u002Fwpmobile.app\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpappninja.zip",91,9,"2025-10-26 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":35,"last_updated":73,"tested_up_to":51,"requires_at_least":74,"requires_php":75,"tags":76,"homepage":82,"download_link":83,"security_score":72,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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,1843,100,"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":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":70,"downloaded":92,"rating":93,"num_ratings":60,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":82,"tags":97,"homepage":100,"download_link":101,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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.",37807,88,"2020-10-27T13:03:00.000Z","5.5.18","4.0",[20,22,24,98,99],"progressive-web-app","pwa","https:\u002F\u002Fgithub.com\u002Funcatcrea\u002Fwp-appkit","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-appkit.1.6.0.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":110,"downloaded":111,"rating":112,"num_ratings":113,"last_updated":114,"tested_up_to":115,"requires_at_least":116,"requires_php":82,"tags":117,"homepage":82,"download_link":119,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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)",80,19552,74,3,"2014-02-06T23:52:00.000Z","3.4.2","2.8",[20,118,22,23,24],"apps","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fideapress-json-api.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":11,"downloaded":128,"rating":13,"num_ratings":129,"last_updated":130,"tested_up_to":131,"requires_at_least":132,"requires_php":82,"tags":133,"homepage":82,"download_link":136,"security_score":137,"vuln_count":113,"unpatched_count":138,"last_vuln_date":139,"fetched_at":30},"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;",27645,10,"2025-04-30T12:39:00.000Z","6.8.5","4.5.0",[55,134,56,24,135],"app-builder","mobile-app-builder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappexperts.zip",46,2,"2026-01-22 00:00:00",{"attackSurface":141,"codeSignals":303,"taintFlows":494,"riskAssessment":653,"analyzedAt":666},{"hooks":142,"ajaxHandlers":292,"restRoutes":300,"shortcodes":301,"cronEvents":302,"entryPointCount":138,"unprotectedCount":138},[143,149,153,156,161,165,168,172,176,179,182,184,186,190,193,196,199,204,208,211,216,219,223,227,231,235,239,242,246,250,254,258,261,265,269,273,277,282,285,290],{"type":144,"name":145,"callback":146,"file":147,"line":148},"filter","rewrite_rules_array","appful_api_rewrites","appful.php",38,{"type":150,"name":151,"callback":152,"file":147,"line":110},"action","widgets_init","closure",{"type":150,"name":154,"callback":155,"file":147,"line":59},"comment_post","appful_on_comment",{"type":150,"name":157,"callback":158,"priority":159,"file":147,"line":160},"transition_post_status","appful_on_post_transition",99,92,{"type":150,"name":162,"callback":163,"priority":129,"file":147,"line":164},"transition_comment_status","appful_on_comment_transition",93,{"type":150,"name":166,"callback":167,"file":147,"line":48},"init","appful_api_init",{"type":150,"name":169,"callback":170,"file":147,"line":171},"admin_init","appful_api_admin_init",97,{"type":150,"name":173,"callback":174,"file":147,"line":175},"admin_notices","appful_admin_notice",103,{"type":150,"name":173,"callback":177,"file":147,"line":178},"appful_api_php_version_warning",110,{"type":150,"name":173,"callback":180,"file":147,"line":181},"appful_api_class_warning",115,{"type":144,"name":145,"callback":146,"file":147,"line":183},120,{"type":144,"name":145,"callback":146,"file":147,"line":185},149,{"type":150,"name":187,"callback":187,"file":188,"line":189},"comment_id_not_found","models\\comment.php",62,{"type":150,"name":191,"callback":191,"file":188,"line":192},"comment_closed",63,{"type":150,"name":194,"callback":194,"file":188,"line":195},"comment_on_draft",64,{"type":144,"name":197,"callback":197,"file":188,"line":198},"comment_post_redirect",65,{"type":144,"name":200,"callback":152,"priority":201,"file":202,"line":203},"a3_lazy_load_run_filter",11,"models\\post.php",139,{"type":144,"name":205,"callback":206,"file":202,"line":207},"bjll\u002Fenabled","__return_false",142,{"type":144,"name":209,"callback":206,"file":202,"line":210},"do_rocket_lazyload",143,{"type":150,"name":212,"callback":213,"priority":129,"file":214,"line":215},"wp","template_redirect","singletons\\api.php",13,{"type":150,"name":217,"callback":217,"file":214,"line":218},"admin_menu",14,{"type":150,"name":220,"callback":221,"file":214,"line":222},"update_option_appful_api_base","flush_rewrite_rules",15,{"type":150,"name":224,"callback":225,"file":214,"line":226},"pre_update_option_appful_api_controllers","update_controllers",16,{"type":150,"name":228,"callback":229,"file":214,"line":230},"post_submitbox_misc_actions","submitbox_actions",18,{"type":150,"name":232,"callback":233,"priority":129,"file":214,"line":234},"pre_post_update","save_postdata",19,{"type":150,"name":236,"callback":237,"file":214,"line":238},"save_post","save_postdata2",20,{"type":144,"name":240,"callback":240,"priority":129,"file":214,"line":241},"post_row_actions",21,{"type":150,"name":243,"callback":244,"file":214,"line":245},"wp_head","add_header",22,{"type":150,"name":247,"callback":248,"file":214,"line":249},"wp_footer","add_footer",23,{"type":150,"name":251,"callback":252,"file":214,"line":253},"delete_term","fill_cache",25,{"type":150,"name":255,"callback":256,"file":214,"line":257},"edited_term","updateTaxonomy",26,{"type":150,"name":259,"callback":256,"file":214,"line":260},"create_term",27,{"type":150,"name":262,"callback":263,"file":214,"line":264},"wp_enqueue_scripts","load_jquery",28,{"type":150,"name":266,"callback":267,"priority":129,"file":214,"line":268},"profile_update","user_profile_update",32,{"type":150,"name":270,"callback":271,"priority":72,"file":214,"line":272},"woocommerce_subscription_status_updated","user_membership_update",33,{"type":144,"name":274,"callback":275,"file":214,"line":276},"redirect_canonical","cancel_redirect_canonical",55,{"type":144,"name":278,"callback":279,"file":280,"line":281},"posts_where","filter_where","singletons\\introspector.php",106,{"type":144,"name":283,"callback":283,"file":284,"line":215},"query_vars","singletons\\query.php",{"type":150,"name":286,"callback":287,"file":288,"line":289},"edit_term","appful_taxonomy_save_taxonomy_image","singletons\\taxonomy.php",129,{"type":150,"name":259,"callback":287,"file":288,"line":291},130,[293,297],{"action":294,"nopriv":295,"callback":296,"hasNonce":295,"hasCapCheck":295,"file":214,"line":11},"zaki_like_dislike_ajax",false,"onZakiCommentLike",{"action":294,"nopriv":298,"callback":296,"hasNonce":295,"hasCapCheck":295,"file":214,"line":299},true,31,[],[],[],{"dangerousFunctions":304,"sqlUsage":316,"outputEscaping":337,"fileOperations":129,"externalRequests":35,"nonceChecks":492,"capabilityChecks":317,"bundledLibraries":493},[305,309,312],{"fn":306,"file":214,"line":307,"context":308},"shell_exec",1020,"echo shell_exec( \"ping -c 3 \" . escapeshellarg( $_REQUEST[\"pingHost\"] != 1 ? $_REQUEST[\"pingHost\"] :",{"fn":306,"file":214,"line":310,"context":311},1026,"echo shell_exec( 'traceroute ' . escapeshellarg( $_REQUEST[\"trace\"] != 1 ? $_REQUEST[\"trace\"] : \"app",{"fn":313,"file":214,"line":314,"context":315},"system",1027,"system( \"killall -q traceroute\" );",{"prepared":129,"raw":317,"locations":318},8,[319,321,324,326,328,330,332,334],{"file":188,"line":148,"context":320},"$wpdb->get_row() with variable interpolation",{"file":214,"line":322,"context":323},448,"$wpdb->get_results() with variable interpolation",{"file":214,"line":325,"context":323},469,{"file":214,"line":327,"context":323},1098,{"file":214,"line":329,"context":323},1172,{"file":214,"line":331,"context":320},1561,{"file":280,"line":333,"context":323},40,{"file":280,"line":335,"context":336},254,"$wpdb->get_col() with variable interpolation",{"escaped":317,"rawEcho":93,"locations":338},[339,342,344,347,349,351,353,354,355,356,357,359,360,362,364,366,368,370,371,372,374,376,377,378,380,381,383,384,386,388,389,390,391,392,393,395,396,398,399,401,403,406,408,410,412,414,416,418,420,422,424,426,427,428,430,432,434,436,438,440,442,444,446,447,449,451,453,455,457,459,461,463,464,466,467,469,471,473,475,476,478,480,482,484,486,488,489,490],{"file":147,"line":340,"context":341},272,"raw output",{"file":147,"line":343,"context":341},278,{"file":345,"line":346,"context":341},"models\\widget.php",52,{"file":345,"line":348,"context":341},54,{"file":345,"line":350,"context":341},57,{"file":345,"line":352,"context":341},60,{"file":345,"line":192,"context":341},{"file":345,"line":195,"context":341},{"file":345,"line":198,"context":341},{"file":345,"line":198,"context":341},{"file":345,"line":358,"context":341},66,{"file":345,"line":358,"context":341},{"file":345,"line":361,"context":341},67,{"file":345,"line":363,"context":341},70,{"file":345,"line":365,"context":341},71,{"file":345,"line":367,"context":341},79,{"file":345,"line":369,"context":341},95,{"file":345,"line":48,"context":341},{"file":345,"line":48,"context":341},{"file":345,"line":373,"context":341},102,{"file":345,"line":375,"context":341},108,{"file":345,"line":375,"context":341},{"file":345,"line":375,"context":341},{"file":345,"line":379,"context":341},111,{"file":345,"line":379,"context":341},{"file":345,"line":382,"context":341},112,{"file":345,"line":382,"context":341},{"file":345,"line":385,"context":341},117,{"file":345,"line":387,"context":341},121,{"file":345,"line":387,"context":341},{"file":345,"line":289,"context":341},{"file":345,"line":289,"context":341},{"file":345,"line":291,"context":341},{"file":345,"line":291,"context":341},{"file":345,"line":394,"context":341},134,{"file":345,"line":394,"context":341},{"file":345,"line":397,"context":341},135,{"file":345,"line":397,"context":341},{"file":345,"line":400,"context":341},136,{"file":345,"line":402,"context":341},137,{"file":404,"line":405,"context":341},"plugins\\wp-polls.php",36,{"file":404,"line":407,"context":341},45,{"file":214,"line":409,"context":341},672,{"file":214,"line":411,"context":341},677,{"file":214,"line":413,"context":341},696,{"file":214,"line":415,"context":341},697,{"file":214,"line":417,"context":341},699,{"file":214,"line":419,"context":341},707,{"file":214,"line":421,"context":341},734,{"file":214,"line":423,"context":341},870,{"file":214,"line":425,"context":341},877,{"file":214,"line":307,"context":341},{"file":214,"line":310,"context":341},{"file":214,"line":429,"context":341},1116,{"file":214,"line":431,"context":341},1210,{"file":214,"line":433,"context":341},1215,{"file":214,"line":435,"context":341},1330,{"file":214,"line":437,"context":341},1333,{"file":214,"line":439,"context":341},1337,{"file":214,"line":441,"context":341},1342,{"file":214,"line":443,"context":341},1390,{"file":214,"line":445,"context":341},1392,{"file":214,"line":445,"context":341},{"file":214,"line":448,"context":341},1393,{"file":214,"line":450,"context":341},1400,{"file":214,"line":452,"context":341},1404,{"file":214,"line":454,"context":341},1405,{"file":214,"line":456,"context":341},1406,{"file":214,"line":458,"context":341},1409,{"file":214,"line":460,"context":341},1410,{"file":214,"line":462,"context":341},1413,{"file":214,"line":462,"context":341},{"file":214,"line":465,"context":341},1415,{"file":214,"line":465,"context":341},{"file":214,"line":468,"context":341},1420,{"file":214,"line":470,"context":341},1422,{"file":214,"line":472,"context":341},1423,{"file":214,"line":474,"context":341},1424,{"file":214,"line":474,"context":341},{"file":214,"line":477,"context":341},1427,{"file":214,"line":479,"context":341},1435,{"file":214,"line":481,"context":341},1436,{"file":483,"line":346,"context":341},"singletons\\response.php",{"file":483,"line":485,"context":341},170,{"file":483,"line":487,"context":341},181,{"file":288,"line":253,"context":341},{"file":288,"line":137,"context":341},{"file":288,"line":491,"context":341},178,7,[],[495,568,579,587,600,610,618,645],{"entryPoint":496,"graph":497,"unsanitizedCount":566,"severity":567},"\u003Capi> (singletons\\api.php:0)",{"nodes":498,"edges":556},[499,504,509,511,515,519,523,527,531,536,540,542,544,548,551],{"id":500,"type":501,"label":502,"file":214,"line":503},"n0","source","$_REQUEST",1094,{"id":505,"type":506,"label":507,"file":214,"line":327,"wp_function":508},"n1","sink","get_results() [SQLi]","get_results",{"id":510,"type":501,"label":502,"file":214,"line":503},"n2",{"id":512,"type":506,"label":513,"file":214,"line":429,"wp_function":514},"n3","echo() [XSS]","echo",{"id":516,"type":501,"label":517,"file":214,"line":518},"n4","$_POST",1560,{"id":520,"type":506,"label":521,"file":214,"line":331,"wp_function":522},"n5","get_row() [SQLi]","get_row",{"id":524,"type":501,"label":525,"file":214,"line":526},"n6","$_REQUEST['setSession']",947,{"id":528,"type":529,"label":530,"file":214,"line":526},"n7","transform","→ save_option()",{"id":532,"type":506,"label":533,"file":214,"line":534,"wp_function":535},"n8","update_option() [Settings Manipulation]",275,"update_option",{"id":537,"type":501,"label":538,"file":214,"line":539},"n9","$_REQUEST['quickconnect_session_id'] (x2)",951,{"id":541,"type":529,"label":530,"file":214,"line":539},"n10",{"id":543,"type":506,"label":533,"file":214,"line":534,"wp_function":535},"n11",{"id":545,"type":501,"label":546,"file":214,"line":547},"n12","$_REQUEST['fetchURL']",988,{"id":549,"type":529,"label":550,"file":214,"line":547},"n13","→ get_contents()",{"id":552,"type":506,"label":553,"file":214,"line":554,"wp_function":555},"n14","file_get_contents() [SSRF\u002FLFI]",257,"file_get_contents",[557,558,559,560,561,562,563,564,565],{"from":500,"to":505,"sanitized":298},{"from":510,"to":512,"sanitized":298},{"from":516,"to":520,"sanitized":298},{"from":524,"to":528,"sanitized":295},{"from":528,"to":532,"sanitized":295},{"from":537,"to":541,"sanitized":295},{"from":541,"to":543,"sanitized":295},{"from":545,"to":549,"sanitized":295},{"from":549,"to":552,"sanitized":295},4,"medium",{"entryPoint":569,"graph":570,"unsanitizedCount":35,"severity":567},"respond (singletons\\response.php:39)",{"nodes":571,"edges":577},[572,574],{"id":500,"type":501,"label":573,"file":483,"line":348},"$_REQUEST[$status_redirect]",{"id":505,"type":506,"label":575,"file":483,"line":348,"wp_function":576},"wp_redirect() [Open Redirect]","wp_redirect",[578],{"from":500,"to":505,"sanitized":295},{"entryPoint":580,"graph":581,"unsanitizedCount":35,"severity":567},"\u003Cresponse> (singletons\\response.php:0)",{"nodes":582,"edges":585},[583,584],{"id":500,"type":501,"label":573,"file":483,"line":348},{"id":505,"type":506,"label":575,"file":483,"line":348,"wp_function":576},[586],{"from":500,"to":505,"sanitized":295},{"entryPoint":588,"graph":589,"unsanitizedCount":35,"severity":599},"admin_options (singletons\\api.php:1305)",{"nodes":590,"edges":596},[591,594,595],{"id":500,"type":501,"label":592,"file":214,"line":593},"$_REQUEST['quickconnect_session_id']",1315,{"id":505,"type":529,"label":530,"file":214,"line":593},{"id":510,"type":506,"label":533,"file":214,"line":534,"wp_function":535},[597,598],{"from":500,"to":505,"sanitized":295},{"from":505,"to":510,"sanitized":295},"low",{"entryPoint":601,"graph":602,"unsanitizedCount":35,"severity":599},"appful_taxonomy_save_taxonomy_image (singletons\\taxonomy.php:131)",{"nodes":603,"edges":608},[604,607],{"id":500,"type":501,"label":605,"file":288,"line":606},"$_POST['taxonomy_image']",133,{"id":505,"type":506,"label":533,"file":288,"line":606,"wp_function":535},[609],{"from":500,"to":505,"sanitized":295},{"entryPoint":611,"graph":612,"unsanitizedCount":35,"severity":599},"\u003Ctaxonomy> (singletons\\taxonomy.php:0)",{"nodes":613,"edges":616},[614,615],{"id":500,"type":501,"label":605,"file":288,"line":606},{"id":505,"type":506,"label":533,"file":288,"line":606,"wp_function":535},[617],{"from":500,"to":505,"sanitized":295},{"entryPoint":619,"graph":620,"unsanitizedCount":14,"severity":644},"template_redirect (singletons\\api.php:863)",{"nodes":621,"edges":635},[622,623,624,625,626,627,628,629,630,631,632,633,634],{"id":500,"type":501,"label":502,"file":214,"line":503},{"id":505,"type":506,"label":507,"file":214,"line":327,"wp_function":508},{"id":510,"type":501,"label":502,"file":214,"line":503},{"id":512,"type":506,"label":513,"file":214,"line":429,"wp_function":514},{"id":516,"type":501,"label":525,"file":214,"line":526},{"id":520,"type":529,"label":530,"file":214,"line":526},{"id":524,"type":506,"label":533,"file":214,"line":534,"wp_function":535},{"id":528,"type":501,"label":592,"file":214,"line":539},{"id":532,"type":529,"label":530,"file":214,"line":539},{"id":537,"type":506,"label":533,"file":214,"line":534,"wp_function":535},{"id":541,"type":501,"label":546,"file":214,"line":547},{"id":543,"type":529,"label":550,"file":214,"line":547},{"id":545,"type":506,"label":553,"file":214,"line":554,"wp_function":555},[636,637,638,639,640,641,642,643],{"from":500,"to":505,"sanitized":295},{"from":510,"to":512,"sanitized":295},{"from":516,"to":520,"sanitized":295},{"from":520,"to":524,"sanitized":295},{"from":528,"to":532,"sanitized":295},{"from":532,"to":537,"sanitized":295},{"from":541,"to":543,"sanitized":295},{"from":543,"to":545,"sanitized":295},"high",{"entryPoint":646,"graph":647,"unsanitizedCount":35,"severity":644},"onZakiCommentLike (singletons\\api.php:1558)",{"nodes":648,"edges":651},[649,650],{"id":500,"type":501,"label":517,"file":214,"line":518},{"id":505,"type":506,"label":521,"file":214,"line":331,"wp_function":522},[652],{"from":500,"to":505,"sanitized":295},{"summary":654,"deductions":655},"The \"appful\" plugin version 1.1.2 presents a concerning security posture, primarily due to significant unaddressed risks in its attack surface and code analysis. While the plugin has no recorded vulnerability history, suggesting it may not have been a target or has historically been secure, this is overshadowed by the static analysis findings. The presence of two AJAX handlers without authentication checks is a critical vulnerability, allowing unauthenticated users to potentially trigger plugin functionalities with unknown consequences. Furthermore, the taint analysis reveals two high-severity flows with unsanitized paths, indicating that user-supplied data could be processed in a way that leads to dangerous operations. The code's limited use of prepared statements for SQL queries and poor output escaping also raises alarms about potential SQL injection and cross-site scripting (XSS) vulnerabilities, respectively. The use of dangerous functions like `shell_exec` and `system` in combination with these unmitigated risks is a recipe for disaster. In conclusion, while the lack of past CVEs is a positive indicator, the current version of \"appful\" exhibits substantial security weaknesses that require immediate attention, particularly concerning its unprotected entry points and data sanitization.",[656,658,660,662,664],{"reason":657,"points":129},"AJAX handlers without auth checks",{"reason":659,"points":222},"High severity taint flows",{"reason":661,"points":317},"Dangerous functions (shell_exec, system)",{"reason":663,"points":492},"Low percentage of prepared SQL statements",{"reason":665,"points":317},"Poor output escaping percentage","2026-03-16T22:33:24.806Z",{"wat":668,"direct":677},{"assetPaths":669,"generatorPatterns":672,"scriptPaths":673,"versionParams":674},[670,671],"\u002Fwp-content\u002Fplugins\u002Fappful\u002Fcss\u002Fappful.css","\u002Fwp-content\u002Fplugins\u002Fappful\u002Fjs\u002Fappful.js",[],[671],[675,676],"appful\u002Fstyle.css?ver=","appful\u002Fscript.js?ver=",{"cssClasses":678,"htmlComments":680,"htmlAttributes":681,"restEndpoints":683,"jsGlobals":687,"shortcodeOutput":689},[679],"widget_appful",[],[682],"data-appful",[684,685,686],"\u002Fwp-json\u002Fappful-api\u002Finfo","\u002Fwp-json\u002Fappful-api\u002Fassetlinks.json","\u002Fwp-json\u002Fappful-api\u002Fapple-app-site-association",[688],"appful_api",[],{"error":298,"url":691,"statusCode":692,"statusMessage":693,"message":693},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fappful\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":113,"versions":695},[696,701,708],{"version":6,"download_url":26,"svn_tag_url":697,"released_at":29,"has_diff":295,"diff_files_changed":698,"diff_lines":29,"trac_diff_url":699,"vulnerabilities":700,"is_current":298},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fappful\u002Ftags\u002F1.1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fappful%2Ftags%2F1.1.1&new_path=%2Fappful%2Ftags%2F1.1.2",[],{"version":702,"download_url":703,"svn_tag_url":704,"released_at":29,"has_diff":295,"diff_files_changed":705,"diff_lines":29,"trac_diff_url":706,"vulnerabilities":707,"is_current":295},"1.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappful.1.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fappful\u002Ftags\u002F1.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fappful%2Ftags%2F1.1.0&new_path=%2Fappful%2Ftags%2F1.1.1",[],{"version":709,"download_url":710,"svn_tag_url":711,"released_at":29,"has_diff":295,"diff_files_changed":712,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":713,"is_current":295},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappful.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fappful\u002Ftags\u002F1.1.0\u002F",[],[]]