Utilizarea get_posts cu argumente găsite în meta keys
Folosesc get_posts, dar trebuie să rafinez interogarea bazată pe postări unde un anumit meta_key are o anumită valoare.
Ceva de genul
<?php $reviews = get_posts('post_type=reviews&numberposts=-1& // de ex. // locatie=berkshire');
Este posibil să fac acest lucru și dacă da, cum?
Minunat

get_posts
acceptă oricare dintre argumentele pe care le acceptă WP_Query. Deci există câteva opțiuni.
1. meta_key
și meta_value
<?php
get_posts(array(
// alte argumente aici
'meta_key' => 'some_key',
'meta_value' => 'some value'
));
2. meta_query
meta_query
este mai sofisticat decât folosirea meta_key
și meta_value
. De exemplu, să presupunem că doriți să obțineți postări care au meta_key cu una din trei valori:
<?php
get_posts(array(
// alte argumente aici
'meta_query' => array(
// meta_query primește un array de array-uri, fiți atenți la asta!
array(
'key' => 'some_key',
'value' => array('anOption', 'anotherOption', 'thirdOption'),
'compare' => 'IN'
)
)
));
Există o mulțime de exemple pe care le puteți consulta în secțiunea custom fields din documentația WP_Query
.

Da. Este posibil. Folosește parametrii meta_key
și meta_value
. meta_key
este pentru cheia câmpului personalizat (de ex. locație) și meta_value
este pentru valoarea câmpului personalizat (de ex. berkshire).
Folosește codul ajustat mai jos:
/* Argumente pentru interogare. */
$args = array(
'post_type' => 'reviews',
'posts_per_page' => -1,
'meta_key' => 'location',
'meta_value' => 'berkshire'
);
/* Obține recenzii */
$reviews = get_posts( $args );
