How to run select query of post with category and tags?

I want to fetch multiple posts with categories and tags currently I'm using this query:

$pagesize = 20;
$pageNumber = 1;

$mysql = mysqli_query($con,"SELECT p.post_title,
     p.ID,
     p.post_content,
     p.post_date,
     p.post_name as url,
     t.name as category_name
FROM wp_posts p,
     wp_terms t,
     wp_term_relationships r,
     wp_term_taxonomy tt
WHERE p.post_status='publish' AND
     tt.taxonomy = 'post_tag' AND
     p.id=r.object_id AND
     r.term_taxonomy_id=tt.term_taxonomy_id AND
     tt.term_id = t.term_id
ORDER BY p.post_date desc 
LIMIT ".(int)($pageNumber*$pageSize).",".(int)$pageSize."") or die ("error".mysqli_error($con));

The mysqli-connection works. But when I run this code, I only get a blank page. How can I fix this?

Topic categories query posts Wordpress sql

Category Web


Turn on debug (to true) it will allow you to see error.


1) Blank page in WordPress means, there is a fatal PHP error in your code. Also the or die() statement could cause the white page. You should not use or die() in production code, instead use try .. catch

2) Besides this I strongly discourage you from using mysqli_* functions in WordPress. Always use $wpdb for DB access!

3) Your query has some issues, but those will not cause the blank page but possibly incorrect results.

4) In this case you possibly want to use core WP functions instead. Like get_posts() and get_the_category()

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.