我的默认wordpress集每页可容纳10篇文章。
在类别中。php,我想用每页999篇文章来覆盖它,问题是这根本不起作用。
当我使用以下代码时。它不按字母顺序调整或显示999条帖子
<?php get_header(); ?>
<section id="index" class="index">
<div class="wrap">
<div class="filter">
<dl id="filters" class="dropdown drop-model">
<dt><a href="#"><span>Selecciona el modelo de tu auto</span><small>▾
</small></a></dt>
<dd>
<ul>
<li><a href="" data-filter="*">Todos</a></li>
<li><ul class="thead-inside"><li>Modelo</li><li>Version</li><li>Año</li></ul></li>
<?php
global $query_string;
$args = array(
\'post_per_archive_page\' => \'999\' ,
\'orderby\' => \'name\',
\'order\' => \'ASC\'
);
$the_query = new WP_Query($query_string,$args); ?>
<?php
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<li><a href="#" data-filter=".<?php theSlug(); ?>-<?php getYearTire(); ?>">
<ul class="tr-inside">
<li><?php the_title(); ?></li>
<li><?php the_version(); ?></li>
<li><?php getYearTire(); ?></li></ul>
</a>
</li>
<?php endwhile; endif; ?>
<?php wp_reset_postdata(); ?>
</ul>
</dd>
</dl>
</div>
<article class="clearfix">
<ul class="getTire thead">
<li>Auto</li>
<li>Modelo</li>
<li>Version</li>
<li>Año</li>
<li>Medida</li>
<!-- <li>Tipo</li> -->
<li></li>
</ul>
</article>
<div class="events" id="events">
<?php
global $query_string;
$args = array(
\'post_per_archive_page\' => \'999\' ,
\'orderby\' => \'name\',
\'order\' => \'ASC\'
);
$the_query = new WP_Query($query_string,$args); ?>
<?php
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<article class="<?php theSlug(); ?>-<?php getYearTire(); ?> <?php the_version(); ?> <?php the_options(); ?> clearfix">
<figure><?php the_post_thumbnail(); ?></figure>
<ul class="getTire">
<li><?php the_category(\', \'); ?></li>
<li><?php the_title(); ?></li>
<li><?php the_version(); ?></li>
<li><?php getYearTire(); ?></li>
<li><?php whohaveit(); ?></li>
<!-- <li><?php// the_type(); ?></li> -->
<li><input class="btn" value="Busca" onclick="window.location=\'/tienda/product-tag/<?php simple_tag(); ?>\'"></li>
</ul>
</article>
<?php endwhile; endif; ?>
</div>
<?php wp_reset_postdata(); ?>
</div>
</section>
<div class="hidden" id="slider"></div>
<?php get_footer(); ?>
谢谢
最合适的回答,由SO网友:Milo 整理而成
你的问题是new WP_Query($query_string,$args);
但是,创建新的WP_Query
不是做你想做的事的方式。有关详细信息,请参阅codex页pre_get_posts
有关修改主查询的正确方式。
我假设通过将每页帖子数设置为999,您希望显示所有帖子,所以只需使用-1
而是从查询中删除限制。这将符合你的主题functions.php
文件:
function wpa90381_category_query( $query ) {
if ( $query->is_category() && $query->is_main_query() ) {
$query->set( \'posts_per_page\', -1 );
$query->set( \'orderby\', \'name\' );
}
}
add_action( \'pre_get_posts\', \'wpa90381_category_query\' );