Мне нужно выполнить несколько запросов и изменить значения, возвращаемые в зависимости от мета пользователя.
Я решил повысить уровень и попытаться сделать это, используя объектно-ориентированное программирование, поэтому у меня есть класс для извлечения данных, и я планирую создавать классы, которые присущи и изменяют данные в зависимости от мета пользователя.
Первоначально мой экземпляр WP_Query был вызван из процедурной функции, и он дал мне такой вывод:
BreakFastQuery from FunctionWP_Query Object
Когда я повторяю функцию внутри своего класса, я получаю такой вывод:
WP_Query Object
Содержимое этих двух объектов идентично, но поскольку второй объект является неназванным экземпляром, я не могу получить к нему доступ, и мой цикл не возвращает сообщений, несмотря на тот факт, что в этом экземпляре WP_Query имеются объекты записей
Вот класс, который содержит функцию с запросом и цикл.
Кто-нибудь знает, как я могу получить доступ к содержимому объекта, который генерирует этот экземпляр WP_Query, или, альтернативно, дать экземпляру имя переменной, на которое я могу ссылаться. Я предполагал, что запрос будет работать точно так же внутри класса, и поэтому мой экземпляр запроса WP будет называться $ food_type_query. Вместо этого $ food_type_query содержит неназванный экземпляр WP_Query и разрушает мой день.
<code>class mealQuery {
function __construct( $query_type ) {
$this->dietPlanQuery( $query_type );
}
public function dietPlanQuery ( $mealType ) {
$ids = get_field($mealType);
$meal_type_query = new WP_Query(array(
'post_type' => 'recipe',
'posts_per_page' => 4,
'post__in' => $ids,
'post_status' => 'any',
'orderby' => 'post__in',
));
// The Loop
if ( $meal_type_query->have_posts() ) {
echo '<ul>';
while ( $meal_type_query->have_posts() ) {
$meal_type_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
echo 'FAIL';
}
/* Restore original Post Data */
wp_reset_postdata();
echo '<pre>';
print_r($meal_type_query);
echo '
';
// закрыть dietPlanQuery
}
// закрываем класс
}