Выводим список всех записей, содержащих конкретные произвольные поля.
Код позволяет вывести список всех записей с настраиваемым полем "Short_Link", отсортированный по значению пользовательского поля "Comment_Count", которое не исключает никаких "post_type" и предполагает, что каждая запись имеет только одно поле для Short_Link и одно для Comment_Count.
<?php
$meta_key1 = 'Short_Link';
$meta_key2 = 'Comment_Count';
$postids = $wpdb->get_col( $wpdb->prepare(
"
SELECT key1.post_id
FROM $wpdb->postmeta key1
INNER JOIN $wpdb->postmeta key2
ON key2.post_id = key1.post_id
AND key2.meta_key = %s
WHERE key1.meta_key = %s
ORDER BY key2.meta_value+(0) ASC
",
$meta_key2,
$meta_key1
) );
if ( $postids )
{
echo "List of {$meta_key1} posts, sorted by {$meta_key2}";
foreach ( $postids as $id )
{
$post = get_post( intval( $id ) );
setup_postdata( $post );
?>
<p>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</p>
<?php
}
}
?>