Erweitern der WP-API-Antwort: Überprüfen der Anforderungs-Parameter

Ich versuche, Post-Views über WP-API aufzuzeichnen. Ich habe ein views Feld hinzugefügt, um die Antwort zu posten

 add_action( 'rest_api_init', 'register_post_views' ); function register_post_views() { register_rest_field( 'post', 'views', array( 'get_callback' => 'get_post_views' ) ); } function get_post_views( $object, $field_name, $request ) { $count = get_post_meta($object['id'], $field_name, true); //if(execute only when id or slug is used in the request){ if($count==''){ $count = 0; delete_post_meta($object['id'], $field_name); add_post_meta($object['id'], $field_name, '0'); } else { $count++; update_post_meta($object['id'], $field_name, $count); } //} return $count; } 

Dieser obige Code erhöht die Sichten für alle Posts, die von der Anfrage kommen, aber ich möchte die Zählung nur für Anfragen begrenzen mit:

  • slug param zB: http://localhost/wordpress/wp-json/wp/v2/posts?slug=hello-world
  • id param zB: http://localhost/wordpress/wp-json/wp/v2/posts/1234

Solutions Collecting From Web of "Erweitern der WP-API-Antwort: Überprüfen der Anforderungs-Parameter"