public function get_posts() {
		$args   = papi_get_qs( 'query' ) ?: [];
		$args   = is_array( $args ) ? $args : [];
		$fields = papi_get_qs( 'fields' ) ?: [];
		$fields = is_array( $fields ) ? $fields : [];
		$posts  = ( new WP_Query( array_merge( [
			'posts_per_page'         => -1,
			'post_status'            => 'any',
			'post_type'              => ['post'],
			'no_found_rows'          => true,
			'update_post_meta_cache' => false,
			'update_post_term_cache' => false
		], $args ) ) )->posts;

		$posts = array_filter( $posts, function ( $post ) {
			return ! empty( $post->post_title );
		} );

		usort( $posts, function ( $a, $b ) {
			return strcmp( strtolower( $a->post_title ), strtolower( $b->post_title ) );
		} );

		if ( ! empty( $fields ) ) {
			foreach ( $posts as $index => $post ) {
				$item = [];

				foreach ( $fields as $field ) {
					$item[$field] = $post->$field;
				}

				$posts[$index] = $item;
			}
		}

		wp_send_json( $posts );
	}
public function get_posts() {
		$args   = papi_get_qs( 'query' ) ?: [];
		$args   = is_array( $args ) ? $args : [];
		$fields = papi_get_qs( 'fields' ) ?: [];
		$fields = is_array( $fields ) ? $fields : [];
		$posts  = ( new WP_Query( array_merge( [
			'posts_per_page'         => -1,
			'post_status'            => 'any',
			'post_type'              => ['post'],
			'no_found_rows'          => true,
			'update_post_meta_cache' => false,
			'update_post_term_cache' => false
		], $args ) ) )->posts;

		$posts = array_filter( $posts, function ( $post ) {
			return ! empty( $post->post_title );
		} );

		usort( $posts, function ( $a, $b ) {
			return strcmp( strtolower( $a->post_title ), strtolower( $b->post_title ) );
		} );

		if ( ! empty( $fields ) ) {
			foreach ( $posts as $index => $post ) {
				$item = [];

				foreach ( $fields as $field ) {
					$item[$field] = $post->$field;
				}

				$posts[$index] = $item;
			}
		}

		wp_send_json( $posts );
	}
public function get_posts ( ) { $ args = papi_get_qs ( 'query' ) ? : [ ] ; $ args = is_array ( $ args ) ? $ args : [ ] ; $ fields = papi_get_qs ( 'fields' ) ? : [ ] ; $ fields = is_array ( $ fields ) ? $ fields : [ ] ; $ posts = ( new WP_Query ( array_merge ( [ 'posts_per_page' => - 1 , 'post_status' => 'any' , 'post_type' => [ 'post' ] , 'no_found_rows' => true , 'update_post_meta_cache' => false , 'update_post_term_cache' => false ] , $ args ) ) ) -> posts ; $ posts = array_filter ( $ posts , function ( $ post ) { return ! empty ( $ post -> post_title ) ; } ) ; usort ( $ posts , function ( $ a , $ b ) { return strcmp ( strtolower ( $ a -> post_title ) , strtolower ( $ b -> post_title ) ) ; } ) ; if ( ! empty ( $ fields ) ) { foreach ( $ posts as $ index => $ post ) { $ item = [ ] ; foreach ( $ fields as $ field ) { $ item [ $ field ] = $ post -> $ field ; } $ posts [ $ index ] = $ item ; } } wp_send_json ( $ posts ) ; }
Get posts via GET.

Posts with empty title will be ignored.

GET /papi-ajax/?action=get_posts
Get posts via GET .