I'm quite new to wordpress. I'm trying to build a tableview within a wordpress page. Therfore I need a custom SQL Query to my MySQL Database.

  1. Query data from my MySQL Database
  2. Get the result somehow in a HTML format in order to display it in a table view within a wordpress page.

My question is: How can I use the wpdb_class in a wordpress page when it is not an option to put php code in a page?


The wpdb object can be used to run arbitrary queries against the WordPress database. Let's say you want to list the most recent 4 posts:

$results = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE `post_type`='post' LIMIT 4" );

The $wpdb->posts variable will output the table name for posts. It's usually wp_posts, but if you're using a custom database prefix this could be different.

However, if you're trying to grab post data (or custom post data or meta information or user data or ... anything built-in to WordPress), you should really be using WP_Query.

Here's the same query above, re-written for WP_Query:

$query = new WP_Query(
        'post_type'      => 'post',
        'posts_per_page' => 4

The advantage of using WP_Query is that it will automatically join against the post meta table and return an array of WP_Post objects that you can work with and loop through.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.