【问题标题】:Show popular post via JSON API plugin通过 JSON API 插件显示热门帖子
【发布时间】:2017-04-08 12:30:39
【问题描述】:

我正在使用 JSON API 插件来检索 json 格式的帖子数据,它工作正常。

现在我想使用相同的插件检索流行(观看次数最多)的帖子。我怎样才能做到这一点。

【问题讨论】:

  • 请展示您已经尝试过的内容。

标签: wordpress wordpress-json-api


【解决方案1】:

WordPress 不存储每个帖子的查看次数,因此仅使用 JSON API 是不可能的。您需要在每次页面加载时运行存储在 post_meta 中的计数,例如:

function post_view_count() {
    if ( is_single() ) {
        $count = get_post_meta( get_the_ID(), 'post_view_count', true ) ?: 0;
        update_post_meta( get_the_ID(), 'post_view_count', $count++ );
    }
}
add_action( 'wp_head', 'post_view_count' );

然后您可以查询 API 以获取一篇文章,按“post_view_count”键降序排序。您可能需要添加类似这样的内容以允许使用 API 查询 post_meta:

function json_allow_meta_query( $valid_vars ) {
    $valid_vars = array_merge( $valid_vars, array( 'meta_key', 'meta_value', 'meta_compare' ) );
    return $valid_vars;
}
add_filter( 'rest_query_vars', 'json_allow_meta_query' );

但是,请注意,您会为每次加载后添加两个数据库命中,这会影响性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多