chuck
  • 0
Новичок

Отображать агентов (настраиваемый тип сообщения) в алфавитном порядке, кроме того, который всегда отображается последним

  • 0

Я хотел бы отобразить всех агентов az, за исключением одного агента, который всегда должен появляться последним. В идеале я бы хотел, чтобы заказ выполнялся из значения настраиваемого поля dName.

Я огляделся, и мне показалось, что meta_query — это новый лучший способ сделать это, но я еще не понял этого.

Текущий код, показывающий 10 последних созданных агентов.

<?php $loop = new WP_Query( array( 'post_type' => 'agents', 'posts_per_page' => 10 ) ); ?>

Спасибо, что посмотрели.

редактировать 27.03.2011, рабочий код

<?php 
$loop = new WP_Query( array( 
    'post_type' => 'agents',
    'orderby' => 'meta_value',
'meta_key' => 'rw_dname',
    'order'=>'ASC',
    'meta_query' => array(
        array( 'key' => 'rw_dName' )
        ),
    'post__not_in' => array( '98' ),
    'posts_per_page' => -1 ) );

$loop2 = new WP_Query( array( 
    'post_type' => 'agents',
    'post__in' => array( '98' ) ) );?>
<?php
if($loop->have_posts() || $loop2->have_posts()) { 
    if($loop->have_posts()) { while($loop->have_posts()) { $loop->the_post();?>
<div class="agentContent">
    <div class="agentThumbnail">
        <?php 
        if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
        the_post_thumbnail();
}?>
</div>
<div class="agentInfo"> <span class="agentInfoEntry">
        <?php
$meta = get_post_meta(get_the_ID(), 'rw_dname', true);
echo $meta; // if you want to show
?>
        </span> </div>
</div>
<?php
        } //endwhile
    }
?>
<?php
if($loop2->have_posts()) { while($loop2->have_posts()) { $loop2->the_post();?>
<div class="agentContent">
    <div class="agentThumbnail">
    <?php 
if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
the_post_thumbnail();
} 
?>
</div>
    <div class="agentInfo"> <span class="agentInfoEntry">
    <?php
$meta = get_post_meta(get_the_ID(), 'rw_dname', true);
echo $meta; // if you want to show
?>
        </span> </div>
</div>
<?php
        } //endwhile
    }
?>
<?php
} else {
    echo 'No Agents.';
}
?>
Share
  1. Каково значение поля dName для того, который вы хотите показать последним? Что должно случиться, что агент не находится в естественном порядке 10; Вы все еще хотите, чтобы он был включен?

    • 0
  2. Я только что написал это, поэтому я не проверял это, но именно так я бы заставил один пост быть в конце. В первом цикле он исключает сообщения по его идентификационному номеру, а во втором цикле он включает только сообщения по идентификационному номеру, по сути, вам нужно знать идентификатор сообщения.

    <?php 
    $loop = new WP_Query( array( 
        'post_type' => 'agents',
        'orderby' => 'meta_value',
        'meta_key' => 'dName',
        'post__not_in' => array( 00 ),
        'posts_per_page' => -1 ) );
    $loop2 = new WP_Query( array( 
        'post_type' => 'agents',
        'post__in' => array( 00 ) ) );
    
    if($loop->have_posts() || $loop2->have_posts()) { 
        if($loop->have_posts()) { while($loop->have_posts()) { $loop->the_post();
            echo the_title();
            echo get_post_custom_values('dName');
            //Post Content
            } //endwhile
        }
        if($loop2->have_posts()) { while($loop2->have_posts()) { $loop2->the_post();
            echo the_title();
            echo get_post_custom_values('dName');
            //Post Content
            } //endwhile
        }
    } else {
        echo 'No Agents.';
    }
    ?>
    
    • 0

Оставить ответ

You must login to add an answer.