How to make post api in WordPress ?

How to make post api in WordPress ?

// API for blopost

add_action( ‘rest_api_init’, ‘custom_api_get_all_posts’ );

function custom_api_get_all_posts() {

register_rest_route( ‘custom/v1’, ‘/all-posts’, array(

‘methods’ => ‘GET’,

‘callback’ => ‘custom_api_get_all_posts_callback’

));

}

function custom_api_get_all_posts_callback( $request ) {

// Initialize the array that will receive the posts’ data.

$posts_data = array();

// Receive and set the page parameter from the $request for pagination purposes

$paged = $request->get_param( ‘page’ );

$paged = ( isset( $paged ) || ! ( empty( $paged ) ) ) ? $paged : 1;

$post_type = $request->get_param( ‘post_type’ );

$post_type = ( isset( $post_type ) || ! ( empty( $post_type ) ) ) ?

$post_type : ‘post’;

// Get the posts using the ‘post’ and ‘news’ post types

$posts = get_posts( array(

‘paged’ => $paged,

‘post__not_in’ => get_option( ‘sticky_posts’ ),

‘posts_per_page’ => 1000,

‘post_type’ => array( $post_type ) // This is the line that allows to fetch multiple post types.

)

);

// Loop through the posts and push the desired data to the array we’ve initialized earlier in the form of an object

foreach( $posts as $post ) {

$id = $post->ID;

$post_thumbnail = ( has_post_thumbnail( $id ) ) ?

get_the_post_thumbnail_url( $id ) : null;

$posts_data[] = (object) array(

$post,

‘featured_img_src’ => $post_thumbnail

);

}

return $posts_data;

}

//API function

Now put this url in your in postman !!

To Top