3 ms·
Sorry, maybe I wasn't clear enough there. I feel that the way you construct an array and pass it to WP_Query is clear and easy to use. Here's a random example
by jwarren 13y ago
Sorry, maybe I wasn't clear enough there. I feel that the way you construct an array and pass it to WP_Query is clear and easy to use.
Here's a random example from that docs page:
$args = array(
'post_type' => 'my_custom_post_type',
'meta_key' => 'age',
'orderby' => 'meta_value_num',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'age',
'value' => array(3, 4),
'compare' => 'IN',
)
)
);
$query = new WP_Query($args);
So it's returning posts that:
- Are of the post type: "my_custom_post_type",
- That contain a custom field with the key of "age",
- That are in ascending order by the value of the aforementioned custom field,
- Where the "age" field is equal to either 3 or 4.
That seems relatively easy and straightforward to me.
The bit that you brought up is the loop, which is the canonical way of displaying the posts retrieved by a query. You don't have to, of course, you can just get an array of them and foreach your way through. The abstraction does allow for quick, easy, and relatively flexible development. I'd fully believe that it's messy on the backend, but that honestly doesn't normally affect my day-to-day usage.
Now, I'm not about to argue the merits of the core architecture of Wordpress - that's beyond my expertise. But I use it daily for client work, and it works very well for my needs.