Выводим список всех записей, содержащих конкретные произвольные поля

Ниже код позволяет вывести список всех записей с настраиваемым полем “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
    }
}
?>

Это один из возможных примеров.

Наверх ↑

Создаю веб-проекты, придумываю идеи, занимаюсь разработкой, оптимизирую и продвигаю сайты. Первые шаги в этом направлении были сделаны в 2008 году. Если у вас есть какие-то идеи или вы хотите что-то предложить, то пишите мне и моей команде.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вы можете использовать HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>