<?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
    }
}
?>

Код позволяет вывести список всех записей с настраиваемым полем «Short_Link», отсортированный по значению пользовательского поля «Comment_Count», которое не исключает никаких «post_type» и предполагает, что каждая запись имеет только одно поле для Short_Link и одно для Comment_Count.

Статьи # #