/** * Register the default JSON API filters * * @internal This will live in default-filters.php */ function json_api_default_filters($server) { global $wp_json_posts, $wp_json_pages, $wp_json_media, $wp_json_taxonomies; // Posts $wp_json_posts = new WP_JSON_Posts($server); add_filter('json_endpoints', array($wp_json_posts, 'register_routes'), 0); add_filter('json_prepare_taxonomy', array($wp_json_posts, 'add_post_type_data'), 10, 3); // Users $wp_json_users = new WP_JSON_Users($server); add_filter('json_endpoints', array($wp_json_users, 'register_routes'), 0); add_filter('json_prepare_post', array($wp_json_users, 'add_post_author_data'), 10, 3); add_filter('json_prepare_comment', array($wp_json_users, 'add_comment_author_data'), 10, 3); // Pages $wp_json_pages = new WP_JSON_Pages($server); $wp_json_pages->register_filters(); // Media $wp_json_media = new WP_JSON_Media($server); add_filter('json_endpoints', array($wp_json_media, 'register_routes'), 1); add_filter('json_prepare_post', array($wp_json_media, 'add_thumbnail_data'), 10, 3); add_filter('json_pre_insert_post', array($wp_json_media, 'preinsert_check'), 10, 3); add_filter('json_insert_post', array($wp_json_media, 'attach_thumbnail'), 10, 3); add_filter('json_post_type_data', array($wp_json_media, 'type_archive_link'), 10, 2); // Posts $wp_json_taxonomies = new WP_JSON_Taxonomies($server); add_filter('json_endpoints', array($wp_json_taxonomies, 'register_routes'), 2); add_filter('json_post_type_data', array($wp_json_taxonomies, 'add_taxonomy_data'), 10, 3); add_filter('json_prepare_post', array($wp_json_taxonomies, 'add_term_data'), 10, 3); // Deprecated reporting add_action('deprecated_function_run', 'json_handle_deprecated_function', 10, 3); add_filter('deprecated_function_trigger_error', '__return_false'); add_action('deprecated_argument_run', 'json_handle_deprecated_argument', 10, 3); add_filter('deprecated_argument_trigger_error', '__return_false'); }
public static function bigapp_json_api_default_filters($server) { global $wp_json_posts, $wp_json_pages, $wp_json_media, $wp_json_taxonomies, $wp_json_auth; // Posts. $wp_json_posts = new WP_JSON_Posts($server); add_filter('json_endpoints', array($wp_json_posts, 'register_routes'), 0); add_filter('json_prepare_taxonomy', array($wp_json_posts, 'add_post_type_data'), 10, 3); // Users. $wp_json_users = new WP_JSON_Users($server); add_filter('json_endpoints', array($wp_json_users, 'register_routes'), 0); add_filter('json_prepare_post', array($wp_json_users, 'add_post_author_data'), 10, 3); add_filter('json_prepare_comment', array($wp_json_users, 'add_comment_author_data'), 10, 3); // Auth. $wp_json_auth = new WP_JSON_Auth($server); add_filter('json_endpoints', array($wp_json_auth, 'register_routes'), 0); // Pages. $wp_json_pages = new WP_JSON_Pages($server); $wp_json_pages->register_filters(); // Post meta. $wp_json_post_meta = new WP_JSON_Meta_Posts($server); add_filter('json_endpoints', array($wp_json_post_meta, 'register_routes'), 0); add_filter('json_prepare_post', array($wp_json_post_meta, 'add_post_meta_data'), 10, 3); add_filter('json_insert_post', array($wp_json_post_meta, 'insert_post_meta'), 10, 2); // Media. $wp_json_media = new WP_JSON_Media($server); add_filter('json_endpoints', array($wp_json_media, 'register_routes'), 1); add_filter('json_prepare_post', array($wp_json_media, 'add_thumbnail_data'), 10, 3); add_filter('json_pre_insert_post', array($wp_json_media, 'preinsert_check'), 10, 3); add_filter('json_insert_post', array($wp_json_media, 'attach_thumbnail'), 10, 3); add_filter('json_post_type_data', array($wp_json_media, 'type_archive_link'), 10, 2); // Posts. $wp_json_taxonomies = new WP_JSON_Taxonomies($server); add_filter('json_endpoints', array($wp_json_taxonomies, 'register_routes'), 2); add_filter('json_post_type_data', array($wp_json_taxonomies, 'add_taxonomy_data'), 10, 3); add_filter('json_prepare_post', array($wp_json_taxonomies, 'add_term_data'), 10, 3); //Favorite $wp_json_favorite = new WP_JSON_Favorite($server); add_filter('json_endpoints', array($wp_json_favorite, 'register_routes'), 3); // Deprecated reporting. add_action('deprecated_function_run', 'json_handle_deprecated_function', 10, 3); add_filter('deprecated_function_trigger_error', '__return_false'); add_action('deprecated_argument_run', 'json_handle_deprecated_argument', 10, 3); add_filter('deprecated_argument_trigger_error', '__return_false'); // Default serving add_filter('json_serve_request', 'bigapp_json_send_cors_headers'); add_filter('json_pre_dispatch', array('mobileplugin_bigapp', 'bigapp_json_handle_options_request'), 10, 2); //auth route $api = new bigapp_server_api(); add_filter('json_endpoints', array($api, 'register_routes'), 10); }