{"id":106288,"date":"2019-07-08T00:14:49","date_gmt":"2019-07-08T00:14:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pageapp\/"},"modified":"2026-04-03T01:27:57","modified_gmt":"2026-04-03T01:27:57","slug":"pageapp","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/pageapp\/","author":288652,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5.6","stable_tag":"1.5.6","tested":"6.9.4","requires":"4.0","requires_php":"","requires_plugins":null,"header_name":"PageApp","header_author":"PageApp","header_description":"Extensions to Wordpress wp-json for the PageApp mobile framework","assets_banners_color":"","last_updated":"2026-04-03 01:27:57","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_xclick&business=K6VKWB3HZB2T2&item_name=Donation%20to%20jameslow%2ecom&currency_code=USD&bn=PP%2dDonationsBF&charset=UTF%2d8","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/pageapp\/","header_author_uri":"https:\/\/www.thirteen.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":3147,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"jamesdlow","date":"2019-07-08 00:14:47"},"1.0.1":{"tag":"1.0.1","author":"jamesdlow","date":"2019-07-11 04:21:50"},"1.0.2":{"tag":"1.0.2","author":"jamesdlow","date":"2020-08-29 04:48:47"},"1.0.3":{"tag":"1.0.3","author":"jamesdlow","date":"2020-10-10 05:52:17"},"1.0.4":{"tag":"1.0.4","author":"jamesdlow","date":"2020-10-14 05:51:26"},"1.0.5":{"tag":"1.0.5","author":"jamesdlow","date":"2020-10-15 13:51:14"},"1.0.6":{"tag":"1.0.6","author":"jamesdlow","date":"2021-02-06 11:16:28"},"1.0.7":{"tag":"1.0.7","author":"jamesdlow","date":"2021-02-24 03:26:36"},"1.0.8":{"tag":"1.0.8","author":"jamesdlow","date":"2021-02-24 03:57:20"},"1.0.9":{"tag":"1.0.9","author":"jamesdlow","date":"2021-02-24 06:02:15"},"1.1.0":{"tag":"1.1.0","author":"jamesdlow","date":"2021-02-24 06:26:54"},"1.1.1":{"tag":"1.1.1","author":"jamesdlow","date":"2021-02-24 06:31:49"},"1.1.2":{"tag":"1.1.2","author":"jamesdlow","date":"2021-02-24 12:24:02"},"1.1.3":{"tag":"1.1.3","author":"jamesdlow","date":"2021-02-26 03:45:43"},"1.1.4":{"tag":"1.1.4","author":"jamesdlow","date":"2021-03-09 06:14:06"},"1.1.5":{"tag":"1.1.5","author":"jamesdlow","date":"2021-03-18 03:01:46"},"1.1.6":{"tag":"1.1.6","author":"jamesdlow","date":"2021-09-21 23:44:24"},"1.1.7":{"tag":"1.1.7","author":"jamesdlow","date":"2021-09-21 23:51:16"},"1.1.8":{"tag":"1.1.8","author":"jamesdlow","date":"2021-09-22 00:15:40"},"1.1.9":{"tag":"1.1.9","author":"jamesdlow","date":"2022-09-18 06:05:53"},"1.2.0":{"tag":"1.2.0","author":"jamesdlow","date":"2022-09-23 22:15:28"},"1.2.1":{"tag":"1.2.1","author":"jamesdlow","date":"2022-10-01 03:20:17"},"1.2.2":{"tag":"1.2.2","author":"jamesdlow","date":"2022-10-01 03:54:07"},"1.2.3":{"tag":"1.2.3","author":"jamesdlow","date":"2022-10-01 04:16:44"},"1.2.4":{"tag":"1.2.4","author":"jamesdlow","date":"2022-10-01 04:17:49"},"1.2.5":{"tag":"1.2.5","author":"jamesdlow","date":"2022-10-04 00:18:32"},"1.2.6":{"tag":"1.2.6","author":"jamesdlow","date":"2022-10-04 03:14:30"},"1.2.7":{"tag":"1.2.7","author":"jamesdlow","date":"2022-11-23 00:13:52"},"1.2.8":{"tag":"1.2.8","author":"jamesdlow","date":"2023-05-19 00:10:54"},"1.2.9":{"tag":"1.2.9","author":"jamesdlow","date":"2023-10-24 09:04:51"},"1.3.0":{"tag":"1.3.0","author":"jamesdlow","date":"2023-11-28 02:04:41"},"1.3.1":{"tag":"1.3.1","author":"jamesdlow","date":"2024-01-18 03:57:16"},"1.3.2":{"tag":"1.3.2","author":"jamesdlow","date":"2024-01-19 06:49:34"},"1.3.3":{"tag":"1.3.3","author":"jamesdlow","date":"2024-05-17 02:00:20"},"1.3.4":{"tag":"1.3.4","author":"jamesdlow","date":"2024-06-22 10:13:35"},"1.3.5":{"tag":"1.3.5","author":"jamesdlow","date":"2024-06-22 23:51:41"},"1.3.6":{"tag":"1.3.6","author":"jamesdlow","date":"2024-06-23 01:02:43"},"1.3.7":{"tag":"1.3.7","author":"jamesdlow","date":"2024-06-25 10:21:25"},"1.3.8":{"tag":"1.3.8","author":"jamesdlow","date":"2024-06-25 11:17:22"},"1.3.9":{"tag":"1.3.9","author":"jamesdlow","date":"2024-07-27 05:06:34"},"1.4.0":{"tag":"1.4.0","author":"jamesdlow","date":"2024-08-01 23:35:33"},"1.4.1":{"tag":"1.4.1","author":"jamesdlow","date":"2024-08-09 10:08:49"},"1.4.2":{"tag":"1.4.2","author":"jamesdlow","date":"2024-09-12 10:19:29"},"1.4.3":{"tag":"1.4.3","author":"jamesdlow","date":"2025-02-04 07:52:37"},"1.4.4":{"tag":"1.4.4","author":"jamesdlow","date":"2025-02-04 07:28:54"},"1.4.5":{"tag":"1.4.5","author":"jamesdlow","date":"2025-02-13 09:44:45"},"1.4.6":{"tag":"1.4.6","author":"jamesdlow","date":"2026-01-29 06:37:26"},"1.4.7":{"tag":"1.4.7","author":"jamesdlow","date":"2026-02-19 04:52:53"},"1.4.8":{"tag":"1.4.8","author":"jamesdlow","date":"2026-02-25 09:54:25"},"1.4.9":{"tag":"1.4.9","author":"jamesdlow","date":"2026-02-25 10:20:27"},"1.5.0":{"tag":"1.5.0","author":"jamesdlow","date":"2026-02-25 10:20:27"},"1.5.1":{"tag":"1.5.1","author":"jamesdlow","date":"2026-02-25 10:59:08"},"1.5.2":{"tag":"1.5.2","author":"jamesdlow","date":"2026-03-06 07:49:42"},"1.5.3":{"tag":"1.5.3","author":"jamesdlow","date":"2026-03-15 04:33:32"},"1.5.4":{"tag":"1.5.4","author":"jamesdlow","date":"2026-03-31 05:40:54"},"1.5.5":{"tag":"1.5.5","author":"jamesdlow","date":"2026-04-01 02:52:11"},"1.5.6":{"tag":"1.5.6","author":"jamesdlow","date":"2026-04-03 01:27:57"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":2119095,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.8","1.3.9","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.4.9","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[173667,25244,2299,944,38850],"plugin_category":[],"plugin_contributors":[79029],"plugin_business_model":[],"class_list":["post-106288","plugin","type-plugin","status-publish","hentry","plugin_tags-pageapp","plugin_tags-relevanssi","plugin_tags-rest","plugin_tags-search","plugin_tags-wp-json","plugin_contributors-jamesdlow","plugin_committers-jamesdlow"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pageapp\/assets\/icon-256x256.png?rev=2119095","icon_2x":"https:\/\/ps.w.org\/pageapp\/assets\/icon-256x256.png?rev=2119095","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Extensions to Wordpress wp-json for the PageApp API and mobile framework:\n* Whitelist meta values for the Wordpress rest api\n* Enable Relevanssi over the Wordpress rest api\n* PageApp compatiable API using wp-json\n* Helper functions and utilities<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload entire <code>pageapp<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Set settings in WP-Admin-&gt;PageApp-&gt;Settings<\/li>\n<li>Whitelist post meta keys WP-Admin-&gt;PageApp-&gt;Settings<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.5.6<\/h4>\n\n<ul>\n<li>Latest version of settingslib library 20260403<\/li>\n<\/ul>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li>Latest version of restlib library 20260401<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Latest version of restlib library 20260331<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Latest version of restlib library 20260315<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Latest version of restlib library 20260306<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Further updates\/fixes for Wordpress best practices<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Fix displaying of options in settingslib<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>Update cachelib to use wpdb::prepare<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Update\/fixes for Wordpress best practices:\n\n<ul>\n<li>No GPL-compatible license declared<\/li>\n<li>Sanitization for register_setting()<\/li>\n<li>Internationalization: Don't use variables or defines as text, context or text domain parameters.<\/li>\n<li>Variables and options must be escaped when echo'd<\/li>\n<li>Allowing direct file access to plugin files<\/li>\n<li>Unsafe SQL calls<\/li>\n<li>Plugin Check Report fixes:\n\n<ul>\n<li>ERROR: trunk_stable_tag<\/li>\n<li>ERROR: readme_parser_warnings_too_many_tags<\/li>\n<li>ERROR: WordPress.WP.I18n.NonSingularStringLiteralText<\/li>\n<li>ERROR: WordPress.WP.I18n.TextDomainMismatch<\/li>\n<\/ul><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Latest version of wordpress rest helper library<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>Fix search filter with no category<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>Fix PHP 8 warning<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Add option to query by meta<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Add optional API key authentication for WP JSON API<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fix for when Relevanssi enabled in PageApp but not installed<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Check for blanks in Restlib::get_param()<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Escape more properties in SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li>Escape nounces in SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>Strip slahes SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Fix carriage returns in SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Add row class to SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Add title section to SettingsLib<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>SettingsLib allows underscore or hyphen for concatenation<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Add option to remove username, add password, login and redirect on user registration (useful for OAuth)<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fix Restlib getParam when running on Wordpress<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Settingslib private functions (logged in) working on PHP 8.0+<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Restlib private functions (logged in) working on PHP 8.0+<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Reorganize code, add library files<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Function to allow setup of cron for caching of Roku\/Amazon links<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Cache Roku\/Amazon vimeo links for longer and add randomisation so they're not all queried at once<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Add utilslib.php<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fix including cachelib.php<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Remove debug statement<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fix Roku for PHP 8<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fix for xml parsing<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Cache Roku\/Amazon vimeo links<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fix to getting featured thumbnail<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Account for warnings in PHP 8.0<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Fix meta types<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Further fixes to settings saving<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Fix whitelist post meta saving<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Add apikey to Roku\/FireTV joiners for <\/li>\n<li>Check for both \"movies\" and \"shortFormVideos\" for Roku<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Add MRSS joiner for Fire TV<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Updated settings library<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fix for content-type header in httplib<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix select drop down for non-associative arrays<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Select drop down for Roku genre<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Use generic settings library<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Use generic wp-json library<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Vimeo Roku feed joiner<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fix some PHP warnings<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Bug fix for WPVS featured images<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Add featured image from children to terms<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Add term details to JSON<\/li>\n<li>Add setting for increasing max result<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Add authentication API<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Add featured_image_urls to posts and custom post types<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Version<\/li>\n<\/ul>","raw_excerpt":"Extensions to Wordpress wp-json for the PageApp API and mobile framework","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/106288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=106288"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jamesdlow"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=106288"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=106288"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=106288"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=106288"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=106288"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=106288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}