在FrontPage和归档页面上发布一篇帖子

时间:2013-07-01 作者:leemon

我正在开发一个使用下划线起始主题的主题,我希望有一个只有最后一篇文章和分页的frontpage,然后有一个单独的页面,带有“归档”slug,以显示所有分页的文章。是否可以通过编程方式(在functions.php文件中添加过滤器和操作)执行此操作,而无需创建额外的模板?

提前感谢

UPDATE:

@ialocin回答frontpage 我的部分问题。这就是我为archives 我的部分问题:

function rewrite_init() { 
    add_rewrite_rule(\'archives\', \'index.php?archives=yes\', \'top\');
}
add_action(\'init\', \'rewrite_init\');

function rewrite_query_vars($query_vars) {    
    $query_vars[] = \'archives\'; 
    return $query_vars; 
} 
add_action(\'query_vars\', \'rewrite_query_vars\'); 

function rewrite_template_include($template){     
    if (get_query_var(\'archives\')) {        
         $template = locate_template(array(\'archive.php\'));
    }
    return $template; 
}
add_filter(\'template_include\', \'rewrite_template_include\'); 

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

将首页/主页的主查询更改为is_front_page() 和/或is_home(), 如下图所示:

add_action(\'pre_get_posts\',\'wpse104878_alter_main_query\');
function wpse104878_alter_main_query($query){

    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    if( $query->is_main_query() && is_front_page() || is_home() ){

        $query->query_vars[\'posts_per_page\'] = \'1\';

    }

}
如果下划线starter主题有一个模板,归档页面应该可以工作。您可以分别更改该函数(类似于上述函数),使用is_archive().

结束

相关推荐

Pagination for a category

嗨,我有一个页面显示20个特定类别的特色图像和信息,我希望能够有分页,这样我就可以有多个类别的页面。我该怎么做?我似乎无法让它工作。任何帮助都将不胜感激谢谢<?php get_header(); ?> <div class=\"modus-grid\"> <?php query_posts(array(\'category__in\' => array(5), \'posts_per_page\' => 20)); ?>