示例#1
0
/**
 * 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');
}
示例#2
0
 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);
 }