按字母顺序创建循环显示帖子

时间:2015-12-04 作者:ael

通过这个循环,我可以在归档页面上显示单个帖子。这些帖子正在按“银行”分类。除此之外,如何按字母顺序显示它们?我试过使用WP_Query, 但无法使其发挥作用;每次都会打断我的循环。

<h3>Banks & Credit Unions</h3>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); 
    if ( in_category( \'Banks\' ) ) { ?>
        <li>
            <a href="<?php the_permalink() ?>">
                <img  src="<?php the_field( \'biller_logo\' )?>">
                <?php the_field( \'biller_name\' ) ?>
            </a>
        </li>
    <?php } 
endwhile; endif; ?>
</ul>

2 个回复
SO网友:thebigtine

要按字母降序显示帖子,请将其添加到args 数组(取自wp codex)

\'orderby\' => \'title\',
\'order\'   => \'DESC\',
要按字母升序显示帖子,只需切换DESCASC.

所以整个事情看起来像:

$args = array(
    \'orderby\' => \'title\',
    \'order\'   => \'DESC\',
);
$query = new WP_Query( $args );

WP_Query Order by Parameters

如果不想更改主循环使用,则使用get_posts. WP query通过更改全局变量$WP\\u query的变量来更改主循环。另一方面,get\\u posts只引用一个新的WP\\u查询对象,因此不会影响或更改主循环。它将以相同的方式使用,但会发生变化$query = new WP_Query( $args ); 大概是$query = get_posts( $args );.

如果要在执行主查询之前对其进行更改,可以使用函数pre\\u get\\u posts钩住它。

SO网友:Ryan Edmondson

这不是我在这里写过的最好的代码,但如果您想创建如下列表:

美国、巴西、巴哈马可以使用。。

<ul>
                            <?php 
                                query_posts(array( 
                                    \'post_type\' => \'franchise\',
                                    \'showposts\' => 100,
                                    \'orderby\'=>\'title\',\'order\'=>\'ASC\'
                                ) );  
                                $title_2 = \'A\';
                            ?>
                            <?php while (have_posts()) : the_post(); ?> 
                                <?php
                                    $title = get_the_title();
                                    $title_1 = $title[0];
                                    if ($title_1 !== $title_2){
                                        echo \'<li>&nbsp;</li><li><h3>\' . $title_1 . \'</h3></li><li>&nbsp;</li>\';
                                        $title_2 = $title_1;
                                    }
                                ?>                              
                                    <li><a href="<?php echo get_the_permalink(); ?>"><?php echo get_the_title(); ?></a></li>
                                <?php endwhile;?>
                            </ul>
就像我说的-不是最好的做法。。但您可以整理&;从这里开始工作:)

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp