admin管理员组文章数量:1425755
Maybe this is super obvious and staring me in the face, but I'm stumped. Is there a way to pull and sort posts by ID? I'd like to grab an arbitrary post, and then x number of posts after it.
Specifically what I'm trying to do is a build a carousel of posts, and I'd like the first item on every individual post to be the current post, and then everything following it. I'd also like to be able to scroll the carousel backwards. I'm using the JSON API plugin to make AJAX calls to pull the posts.
Basically I just want to add a "WHERE post.id >= currentPost" to the query, but I can't figure out where to implement this. I tried using the posts_where hook but I always get zero results.
Maybe this is super obvious and staring me in the face, but I'm stumped. Is there a way to pull and sort posts by ID? I'd like to grab an arbitrary post, and then x number of posts after it.
Specifically what I'm trying to do is a build a carousel of posts, and I'd like the first item on every individual post to be the current post, and then everything following it. I'd also like to be able to scroll the carousel backwards. I'm using the JSON API plugin to make AJAX calls to pull the posts.
Basically I just want to add a "WHERE post.id >= currentPost" to the query, but I can't figure out where to implement this. I tried using the posts_where hook but I always get zero results.
Share Improve this question asked Jun 25, 2011 at 20:42 TheSeanzTheSeanz 111 bronze badge2 Answers
Reset to default 1I think you're on the right path with posts_where
, something like this should work:
<?php
function my_filter_where($where){
global $my_current_id;
$where .= " AND ID >= ".$my_current_id;
return $where;
}
// random number I chose for sake of example
$my_current_id = 30;
add_filter('posts_where', 'my_filter_where');
$my_posts = new WP_Query("posts_per_page=5&orderby=ID&order=ASC");
remove_filter('posts_where', 'my_filter_where');
Straightforward sorting by ID would be unreliable. Simply put IDs are not guaranteed to be sequential (even if they commonly are). One case would be import with custom IDs for example.
I suggest to look into get_adjacent_post()
function. It only retrieves one post by default, but it has extensive hooks for its SQL query and LIMIT 1
seems easy to override by filtering get_{$adjacent}_post_sort
hook.
However I am not sure how/if that can be implemented with JSON API specifics.
PS do you really need to do this asynchronously via Ajax? Maybe setting up JS variables with data in page source would work better?
本文标签: ajaxGet post and all posts after it by ID
版权声明:本文标题:ajax - Get post and all posts after it by ID? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745385696a2656365.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论