我这里有一个基本wordpress主题模板示例。首先,请快速查看一下,了解一下您的想法。
<?php
get_header(); ?>
<div id="primary">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
/* Include the Post-Format-specific template for the content.
* If you want to overload this in a child theme then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( \'content\', get_post_format() );
?>
<?php endwhile; ?>
<?php reddle_content_nav( \'nav-below\' ); ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( \'Nothing Found\', \'reddle\' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( \'It seems we can’t find what you’re looking for. Perhaps searching can help.\', \'reddle\' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
在最后修改日期之前订购帖子的最简单方法是添加以下内容:
<?php query_posts($query_string . \'&orderby=modified&order=desc\'); ?>
正上方:
<?php while ( have_posts() ) : the_post(); ?>
但那不是我想要的。有人告诉我
get_posts()
或
WP_Query()
(
see), 比
query_posts()
. 我不知道如何根据建议修改上述代码。
如果有人能告诉我应该如何使用get_posts()
或WP_Query()
w、 r.t上述基本模板。谢谢
最合适的回答,由SO网友:Scott 整理而成
您尚未指定要将此更改应用到的位置,因此我仅将其应用于主页。您可以更改以适应此筛选器适用的位置:
<?php
function wpse10691_alter_query( $query )
{
if ( $query->is_main_query() && ( $query->is_home() || $query->is_search() || $query->is_archive() ) )
{
$query->set( \'orderby\', \'modified\' );
$query->set( \'order\', \'desc\' );
}
}
add_action( \'pre_get_posts\', \'wpse10691_alter_query\' );
?>
将代码放入主题函数中。php或将其打包成插件。