norgelo
Forum Replies Created
Viewing 1 replies (of 1 total)
-
Forum: Developing with WordPress
In reply to: Error Custom endpoint filtering post by custom taxonomiesSOLVED!!! A friend of my found the way –>
function get_latest_posts_by_term($request) { $parsed_args=[ 'numberposts' => 20, 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'tax_query' => array( array ( 'taxonomy' => $request['slug'], 'field' => 'slug', 'terms' => $request->get_param('name'), ) ), ]; $get_posts = new WP_Query; $posts= $get_posts->query( $parsed_args ); //$posts = get_posts($args); if (empty($posts)) { return new WP_Error( 'empty_terms', 'There are no posts to display', array('status' => 404) ); } $response = new WP_REST_Response($posts); $response->set_status(200); $data2 = []; $i = 0; foreach($posts as $post) { $data2[$i]['id'] = $post->ID; $data2[$i]['title'] = $post->post_title; $data2[$i]['excerpt'] = $post->post_excerpt; $data2[$i]['date'] = $post->post_date; $data2[$i]['content'] = $post->post_content; $data2[$i]['slug'] = $post->post_name; $data2[$i]['author'] = get_the_author_meta('display_name', $post->post_author); $data2[$i]['category'] = get_the_category( $post->ID); $data2[$i]['tema'] = get_the_terms($post->ID,'tema'); $data2[$i]['Ruta-geografica'] = get_the_terms($post->ID,'ruta-geografica'); $data2[$i]['featured_image']['thumbnail'] = get_the_post_thumbnail_url($post->ID, 'thumbnail'); $data2[$i]['featured_image']['medium'] = get_the_post_thumbnail_url($post->ID, 'medium'); $data2[$i]['featured_image']['large'] = get_the_post_thumbnail_url($post->ID, 'large'); $data2[$i]['post_tags'] = get_the_terms($post->ID,'post_tag'); $data2[$i]['Youtube_URL'] = get_field('url_pltv', $post->ID); $i++; } return $data2; } add_action('rest_api_init', function() { register_rest_route( 'wl/v1', 'posts/terms/(?P<slug>[a-zA-Z0-9-]+)',array( 'methods' => 'GET', 'callback' => 'get_latest_posts_by_term' )); });
- This reply was modified 3 years ago by norgelo.
Viewing 1 replies (of 1 total)