Как я могу объединить этот оператор php, чтобы получить результаты нескольких переменных ввода? - PullRequest
0 голосов
/ 01 мая 2011

Это мой запрос WordPress, но это не вопрос, связанный с WordPress. Он показывает сообщения, которые имеют meta_key как extra1 и meta_value как test

<?php $customkey1 = extra1; ?>
<?php $customvalue1 = test; ?>
<?php query_posts('meta_key=' . $customkey1 . '&meta_value=' . $customvalue1 . '');  ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<?php the_title(); ?>

<?php endwhile; ?>
<?php endif; ?>

У меня вопрос, как я могу по-прежнему отображать посты, которые имеют extra1 в качестве метаключа и test в качестве мета-значения, но также и посты, которые имеют extra2 в качестве метаключа и test2 в качестве мета-значения в том же запросе. Комбинация двух или более переменных.

1 Ответ

0 голосов
/ 01 мая 2011

То есть вы хотите объединить результаты двух запросов? Проверьте это Возможно, вам просто нужно сделать два объекта запроса и объединить их.

Что-то вроде (обратите внимание, у меня не установлен WordPress, и я не использую WordPress. Но при условии, что его APIне ложь):

<?php

// The Query
$the_query = new WP_Query( $args );
$the_second_query = new WP_Query( $args );

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

// The Second Loop
while ( $the_second_query->have_posts() ) : $the_second_query->the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

// Reset Post Data
wp_reset_postdata();
?>

Примечание: это отвратительно, некрасиво и сработает, но в большинстве случаев профессионалы считают НЕПРАВИЛЬНЫМ.Более элегантно, по крайней мере, я бы использовал функцию для разбора поста.Наиболее элегантно, я бы сделал то, что было предложено в другом месте, инкапсулировать объединенный запрос в бит MySQL.Но, учитывая знание ОП, это, кажется, «лучший подход» для быстрого решения этой проблемы, надеюсь, только один раз.(Повторное применение этого подхода превратит его в грязный кошмар)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...