分类中的字母顺序.php

时间:2015-03-04 作者:Nicfur

我创建了自定义的帖子类型和分类粘附。php文件(通过复制archive.php文件的内容)。

我希望搜索结果按字母顺序(或标题)显示,但事实并非如此。

以下是页面代码:

<?php get_header(); ?>

<div class="content">

    <div class="page-title">

        <h4>

            <?php if ( is_day() ) : ?>
                <?php _e(\'Date\', \'wilson\'); ?><span class="name"><?php echo get_the_date(); ?></span>
            <?php elseif ( is_month() ) : ?>
                <?php _e(\'Month\', \'wilson\'); ?><span class="name"><?php echo get_the_date(\'F Y\'); ?></span>
            <?php elseif ( is_year() ) : ?>
                <?php _e(\'Year\', \'wilson\'); ?><span class="name"><?php echo get_the_date(\'Y\'); ?></span>
            <?php elseif ( is_category() ) : ?>
                <?php _e(\'Category\', \'wilson\'); ?><span class="name"><?php echo single_cat_title( \'\', false ); ?></span>
            <?php elseif ( is_tag() ) : ?>
                <?php _e(\'Tag\', \'wilson\'); ?><span class="name"><?php echo single_tag_title( \'\', false ); ?></span>
            <?php elseif ( is_author() ) : ?>
                <?php $curauth = (isset($_GET[\'author_name\'])) ? get_user_by(\'slug\', $author_name) : get_userdata(intval($author)); ?>
                <?php _e(\'Author\', \'wilson\'); ?><span class="name"><?php echo ($curauth->display_name); ?></span>
            <?php else : ?>
                <?php _e( \'Les Membres\', \'wilson\' ); ?>
            <?php endif; ?>

        </h4>

        <?php
            $tag_description = tag_description();
            if ( ! empty( $tag_description ) )
                echo apply_filters( \'tag_archive_meta\', $tag_description );
        ?>

    </div> <!-- /page-title -->

    <div class="posts">

        <?php if ( have_posts() ) : ?>

            <?php rewind_posts(); ?>

            <?php while ( have_posts() ) : the_post(); ?>

                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

                    <?php get_template_part( \'contentmembres\', get_post_format() ); ?>

                </div> <!-- /post -->

            <?php endwhile; ?>

    </div> <!-- /posts -->

    <?php if ( $wp_query->max_num_pages > 1 ) : ?>

        <div class="archive-nav">

            <?php echo get_next_posts_link( __(\'Older<span> posts</span>\', \'wilson\')); ?>

            <?php echo get_previous_posts_link( __(\'Newer<span> posts</span>\', \'wilson\')); ?>

            <div class="clear"></div>

        </div> <!-- /post-nav archive-nav -->

    <?php endif; ?>

<?php endif; ?>

<?php get_footer(); ?>  

1 个回复
最合适的回答,由SO网友:Milo 整理而成

主查询是在加载模板之前生成的,主查询的结果是WordPress如何知道要加载哪个模板。如果要更改主查询的查询参数以更改以下内容orderby, 您应该添加一个连接到pre_get_posts.

传递给函数的参数包含每个查询的查询参数,因此您可以检查它是哪个查询,并且只更改分类法主查询。这个功能将放在你的主题中functions.php 文件或插件。

function wpd_adhesion_taxonomy_queries( $query ) {
    if ( !is_admin() && $query->is_tax( \'adhesion\' ) && $query->is_main_query() ) {
        $query->set( \'orderby\', \'title\' );
        $query->set( \'order\', \'ASC\' );
    }
}
add_action( \'pre_get_posts\', \'wpd_adhesion_taxonomy_queries\' );

结束

相关推荐

Re-order posts in query after

对于特定类别,我需要合并到另一个自定义帖子类型中。现在,我想基于自定义字段进行查询。这可能吗?下面是我合并查询的方式。if (in_category( \'Events\' ) && is_archive()) { global $wp_query; $args = array ( \'post_type\' => \'custom_post_type\' ); $second_query = n