Я искал везде, но нигде не могу найти ответ, и я новичок в php, поэтому я надеюсь, что найдется кто-то, кто так любезно поможет мне.
я работаю с WordPress и использую эту строку
$post_IDs = get_posts('category_name=glicinie');
для извлечения всех сообщений в категории, но в этой категории у меня много дубликатов сообщений, вот часть массива, которую я получаю [с print_r ($ post_IDs)] *
Array (
[0] => stdClass Object
( [ID] => 761 [post_author] => 2 [post_date] => 2011-07-26 12:07:17
[post_title] => Flower )
[1] => stdClass Object
( [ID] => 760 [post_author] => 2 [post_date] => 2011-07-26 12:04:46
[post_title] => Rainbow )
[2] => stdClass Object
( [ID] => 770 [post_author] => 2 [post_date] => 2011-07-26 12:03:18
[post_title] => Coconut )
[3] => stdClass Object
( [ID] => 743 [post_author] => 5 [post_date] => 2011-07-26 11:38:48
[post_title] => Coconut )
)
после этого я использую этот код ниже, чтобы заполнить выбор в форме заголовком и годом (это настраиваемое поле сообщения) для каждого сообщения.
foreach ($post_IDs as $post_ID) {
$anno = get_post_meta($post_ID->ID, 'year', true);
$title = $post_ID->post_title;
echo '<option value="'.$title.'">' . '[' . $year . '] ' . $title . '</option>';
}
теперь вы уже видели, что у меня есть две записи под названием "Кокос" ... поэтому в списке в форме я получу сообщение "Кокос", отображаемое дважды.
то, что я хочу, это однозначно отображать дублированные сообщения (например, «Кокос») только один раз ..
я думаю, что я должен сделать своего рода проверку массива перед foreach, но я не знаю как ... так что в foreach я зацикливаюсь только через идентификаторы, которые имеют другое значение "post_title" ... но как?
прости мой английский.
заранее спасибо :)