Создание популярного поста с помощью пользовательского API WordPress Rest - PullRequest
0 голосов
/ 11 ноября 2018

Я хочу отобразить популярный пост с остальным API, но я не знаю, чтобы получить посты с самым просматриваемым.

Я использую update_post_meta и получаю маршрут, как показано ниже.

<?php
function post_view_count() {
    if ( is_single() ) {
        $count = get_post_meta( get_the_ID(), 'post_view_count', true ) ?: 0;
        if ( ! $count ) {
            $count = 1;  // if the meta value isn't set, use 1 as a default
        }
        $count++;
        update_post_meta( get_the_ID(), 'post_view_count', $count );
    }
}
add_action( 'wp_head', 'post_view_count' );
?>


<?php
  // Register a REST route
  add_action( 'rest_api_init', function () {
    //Path to meta query route
    register_rest_route( 'popular/v2', '/pp/', array(
            'methods' => 'GET', 
            'callback' => 'custom_meta_query_dinhmenh' 
    ) );
  });

  // Do the actual query and return the data
  function custom_meta_query_dinhmenh(){
        // Set the arguments based on our get parameters
        $args = array (
          array(
              'relation' => $_GET['meta_query'][0]['relation'],
              'key' => $_GET['meta_query'][0]['key'],
              'value' => $_GET['meta_query'][0]['value'],
              'show_in_rest' => true, 
              //'compare' => '=',
          ), 
      );
        // Run a custom query
        $meta_query = new WP_Query($args);
        if($meta_query->have_posts()) {
            //Define and empty array
            $data = array();
            // Store each post's title in the array
            while($meta_query->have_posts()) {
                $meta_query->the_post();
                $data[] =  get_the_title();
            }
            // Return the data
            return $data;
        } else {
            // If there is no post
            return 'No post to show';
        }
  }
?>

Можете ли вы помочь мне написать условие для отображения наиболее просматриваемых сообщений на основе post_view_count

Большое спасибо.

...