bherrero
8/26/2016 - 3:55 PM

Añadir o eliminar elementos en la WP API REST || Add or delete items from WP REST API

Añadir o eliminar elementos en la WP API REST || Add or delete items from WP REST API

add_filter( 'rest_prepare_post', 'sololistas_apirest_remove_extra_data', 12, 3 );


function sololistas_apirest_remove_extra_data( $data, $post, $request ) {
    // Solo modificamos el contexto 'view', para leer posts
    if( 'view' !== $request['context'] || is_wp_error( $data ) ) {
        return $data;
    }

    $response_data = $data->get_data();

    // Eliminamos los campos que no necesitamos
    unset( $response_data['date'] );
    unset( $response_data['date_gmt'] );
    unset( $response_data['guid'] );
    unset( $response_data['modified'] );
    unset( $response_data['modified_gmt'] );
    unset( $response_data['type'] );
    unset( $response_data['content'] );
    unset( $response_data['excerpt'] );
    unset( $response_data['author'] );
    unset( $response_data['featured_media'] );
    unset( $response_data['comment_status'] );
    unset( $response_data['ping_status'] );
    unset( $response_data['sticky'] );
    unset( $response_data['format'] );
    unset( $response_data['categories'] );
    unset( $response_data['tags'] );
    
    // Añadimos los que necesitemos (imágenes, metadata, etc..)
    $thumbnail = get_the_post_thumbnail_url( $post, array( 30, 30 ) );
    if( $thumbnail )
        $response_data['thumbnail'] = $thumbnail;
    

    $data->set_data( $response_data );

    return $data;    
}