I'm trying to build a wordpress query to get the last 2 posts from bbpress2.3.2 to display on the home page of the site and I just can't seem to grasp how to do this.
I have been digging about in the DB but still can't find any clues.
Can anyone give me a push in the right direction?
Thanks.
BBpress store everything in the wp_posts table, with different post_type.
So if you want to get the last 2 posts, you have the find the right post_type (it can be topic for topics, or reply for replies in the topics). Then you just have to use the Wordpress function get_posts :
$args = array(
'post_type' => 'reply',
'numberposts' => 2,
);
$postslist = get_posts( $args );
You can change the number of posts you want to get, and the type. With that you should have what you want :)
If you're blocked : http://codex.wordpress.org/Template_Tags/get_posts
Related
I'm struggling to make two custom queries for visual composer:
a query which will display posts which are published with a date after today's date (have plugin which publishes future posts) in Ascending or descending order (whichever makes it show the soonest upcoming event first)
a query which will display only posts which meet multiple category requirements (eg. categories 'upcoming' and 'class' or 'upcoming' and 'social'
Really, either of these should give me the results I want, but the first would be most convenient.
I can't for the life of me decipher the Codex's page on custom queries and figure out how to get them to work outside of the context of a php page, and in the context of the visual compose.
One thought I had is that perhaps I need to add a custom query to my functions.php that has a name, and then call the query with the variables from Visual Composer? Is that the right idea? How would I do such a thing/call the new query?
I've tried the following to satisfy #1 and it seems to have disregarded the query altogether and just displayed all the events:
[vc_basic_grid post_type="custom" grid_id="vc_gid:1473741223498-3776c0d3-292b-4" custom_query="WP_Query( ''showposts=20&monthnum=' . date_query( array( 'after', . NOW() . ) ) . '&order_by=date&order=DESC')"]
[vc_separator]
[vc_basic_grid post_type="custom" grid_id="vc_gid:1473741223504-67e7758b-8892-6" custom_query="$args = array(
'date_query' => array(
array(
'after' => NOW(),
'inclusive' => true,
),
),
'posts_per_page' => -1, 'order_by' => 'date', 'order' => 'ASC'
);
$query = new WP_Query( $args );"]
Would love some nudges in the right direction!
Thank you :)
I did something similar not too long ago and used the following as far as the date & making sure it only pulled posts from "today" and in the future.
_EventStartDate=>$today
That was for pulling upcoming events for a custom post type. With that said, this code is for your scenario which is retrieving normal posts:
date=>$today
Here's my whole custom query that works to pull events but I'm stuck on trying to figure out how to pull from multiple categories as well:
post_type=tribe_events&tribe_events_cat=featured&post_status=publish&_EventStartDate=>$today&orderby=_EventStartDate&order=asc
Please follow up once you have a solution.
I'm trying to get 4 posts in order by 'pageviews' from a plugin named Wordpress Popular posts. I found in phpmyadmin where it stores the page views per post. My problem is that the values for 'pageviews' for the post is not in the wp_postmeta but in a separate table: wp_popularpostdata and named pageviews. Please help :)
phpmyadmin
from wp_popularpostdata
postid | pageviews
..1..............14
the code below I'm trying returns nothing
$args = array(
'posts_per_page' => 4,
'meta_key' => pageviews,
'orderby' => meta_value_num,
'order' => DESC,
);
$my_query = new WP_Query($args);
You could use the built-in function wpp_get_mostpopular as explained here:
if (function_exists('wpp_get_mostpopular'))
wpp_get_mostpopular("range=weekly&order_by=comments");
If it isn't sufficient to you, you'll have to alter the query through wordpress filters like posts_join, posts_where and etc. The docs should help you to find the way.
I am working on site where i want to sort the books (Custom post type) with user current city. For example if my city is Sialkot and there are three books with custom fields Sialkot show them on top. What i have already done is
Store user city as custom field
Get the current user city
Only need help for sorting data. Currently i am sorting with meta key and meta value.
Thanks in advance.
You can simply add the below code and thats all
query_posts('&meta_key=popularity&orderby=meta_value');
Here popularity is the name of the custom field
The better way to get sorted the current user city as below
$args = array(
'post_type' => 'books',
'meta_key' => 'user_city', // SPECIFY YOUR CUSTOM FIELD SLUG
'orderby' => 'meta_value',
'order'=> 'DESC'
);
$posts = get_posts( $args );
Let us know if you still face any issue, Mentioned over comments :)
We are ready to help you.
I am implementing this plugin ZillaLikes http://www.themezilla.com/plugins/zillalikes/ which is great plugin allows people to 'love' my posts. I want to be able to now sort by those that are liked.
I have read through the documentation of sorting wordpress posts which is fine but cant work out how to do it with the associated likes?
Haven't tested this. But it should be possible to order by meta_key _zilla_likes
new WP_Query( array(
'meta_key' => '_zilla_likes',
'orderby' => 'meta_value_num'
));
in my blog I have done a sidebar where are displayed some articles. It is done by querying wordpress:
$pq = new WP_Query(array( 'post_type' => $ptype, 'showposts' => $pshow ));
My question is: how can I get retrieve articles from the 6-th, and not from the last posted?
Thank you so much.
In alternative, how can I extract random post different from the last six post?
Thanks in advance.
Add 'offset' => n to your query to bounce over the first n results.