首页 文章

如何在WordPress的“WP REST API”插件中向Post实体添加新属性?

提问于
浏览
0

我正在尝试向“WP REST API”插件的Post实体添加新属性 . 新属性是“观点” . 它表示帖子被查看的次数 . 数据来自插件“Post Views Counter”,WordPress表wp_post_views上的内容如何 .

最简单的形式是什么?

提前致谢,

1 回答

  • 0

    这是一个非常简单的答案,使用wordpress插件:

    function get_viewed_count_post( $data, $post, $context ) {
      // We only want to modify the 'view' context, for reading posts
      if ( $context !== 'view' || is_wp_error( $data ) ) {
        return $data;
      }
    
      //Eliminate unused variables
      unset($data['author']);
      unset($data['terms']);
      unset($data['meta']);
    
      $viewed = db_select($data['ID']);
    
      if (!empty( $viewed )) {
        $data['post_viewed'] = $viewed;
      }
    
      return $data;
    }
    
    function db_select($id) {
        global $wpdb;
    
        $px_table_name = $wpdb->prefix.'post_views';
    
        $sql = "SELECT count FROM $px_table_name WHERE ID='$id' AND type = 4";
    
        return intval($wpdb->get_var($sql));
    }
    
    add_filter( 'json_prepare_post', 'get_viewed_count_post', 13, 3 );
    

相关问题