Prompt: Screenshoot: latest.png
Odgovor:
// Hook to initialize the REST API
add_action('rest_api_init', function() {
// Register a new REST route
register_rest_route('mock-api/v1', '/review-history', array(
'methods' => 'GET', // Define HTTP method
'callback' => 'get_review_history', // Define callback function
));
});
// Callback function to handle the endpoint
function get_review_history() {
// Query for the last 5 product reviews
$reviews = get_posts(array(
'post_type' => 'product_review', // Define custom post type
'numberposts' => 5, // Limit to 5 reviews
'orderby' => 'date', // Order by date
'order' => 'DESC', // Latest first
));
// Prepare data for JSON response
$data = array();
foreach ($reviews as $review) {
$sentiment = get_post_meta($review->ID, 'sentiment', true); // Retrieve sentiment
$score = get_post_meta($review->ID, 'score', true); // Retrieve score
$data[] = array(
'id' => $review->ID,
'title' => $review->post_title,
'sentiment' => $sentiment,
'score' => $score,
);
}
// Return the data as JSON
return rest_ensure_response($data);
}
Leave a Reply