У меня это работает после написания кода с использованием обычного PHP. Я уверен, что есть функции WP, которые могут заменить некоторые из них. Но это работает, и это все, что мне нужно. Оператор if для lastlist гарантирует, что в нем не будет дубликатов, так как при редактировании сообщений эти настраиваемые поля добавляются снова и снова. Этот запрос, однако, получает только последние из каждого списка.
мой код:
<?php
$lastlist = "";
$masterquery = "SELECT * from wp_postmeta WHERE meta_key = 'open_date' ORDER BY meta_value";
$masterreslt = mysql_query($masterquery) or die(mysql_error());
while($masterdata = mysql_fetch_array($masterreslt)) {
$new_array = $masterdata['meta_value'];
if(!empty($masterdata['meta_value'])) {
foreach($masterdata as $fullarray) {
$post_id = $masterdata['post_id'];
$property_id = $post_id;
if($property_id != $lastlist){
$address = get_post_meta($property_id, 'address', true);
$open_date = get_post_meta($property_id, 'open_date', true);
$open_date = date( "F j, Y", strtotime( $open_date ) );
$open_start = get_post_meta($property_id, 'open_start', true);
$open_close = get_post_meta($property_id, 'open_close', true);
$image = get_post_meta($property_id, 'red_image1', true);
$excerpt = get_post($property_id, ARRAY_N);
$excerpt = $excerpt['5'];
$permalink = get_permalink( $property_id );
echo "<div style=\"width:800px;\">";
echo "<a href=\"$permalink\"><img style=\"width:250px; height:180px; float:left; margin:10px;\" src=\"$image\" /></a>";
echo "<span style=\"float:right;width:530px;\"><a href=\"$permalink\"><h1>$address</h1></a></span>";
echo "<span style=\"float:right;width:530px;\"><h2>$open_date $open_start to $open_close</h2></span>";
echo "<span style=\"float:right;width:530px;\"><p>$excerpt</p></span>";
echo "</div>";
echo "<div style=\"clear:both;\">";
$lastlist = $property_id;
}
}