另一种选择是使用214主题作者。带有模板标记的php文件,该模板标记是主题为分页导航包含的。
然后您可以使用pre_get_posts
更改函数文件中的查询。
You want page navigation for the author archives rather than single post navigation which is what you posted in your question.
您将在名为template tags的文件中找到此代码。主题的includes文件夹中的php。
if ( ! function_exists( \'twentyfourteen_paging_nav\' ) ) :
function twentyfourteen_paging_nav() {
if ( $GLOBALS[\'wp_query\']->max_num_pages < 2 ) {
return;
}
$paged = get_query_var( \'paged\' ) ? intval( get_query_var( \'paged\' ) ) : 1;
$pagenum_link = html_entity_decode( get_pagenum_link() );
$query_args = array();
$url_parts = explode( \'?\', $pagenum_link );
if ( isset( $url_parts[1] ) ) {
wp_parse_str( $url_parts[1], $query_args );
}
$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
$pagenum_link = trailingslashit( $pagenum_link ) . \'%_%\';
$format = $GLOBALS[\'wp_rewrite\']->using_index_permalinks() && ! strpos( $pagenum_link, \'index.php\' ) ? \'index.php/\' : \'\';
$format .= $GLOBALS[\'wp_rewrite\']->using_permalinks() ? user_trailingslashit( \'page/%#%\', \'paged\' ) : \'?paged=%#%\';
// Set up paginated links.
$links = paginate_links( array(
\'base\' => $pagenum_link,
\'format\' => $format,
\'total\' => $GLOBALS[\'wp_query\']->max_num_pages,
\'current\' => $paged,
\'mid_size\' => 1,
\'add_args\' => array_map( \'urlencode\', $query_args ),
\'prev_text\' => __( \'← Previous\', \'twentyfourteen\' ),
\'next_text\' => __( \'Next →\', \'twentyfourteen\' ),
) );
if ( $links ) :
?>
<nav class="navigation paging-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( \'Posts navigation\', \'twentyfourteen\' ); ?></h1>
<div class="pagination loop-pagination">
<?php echo $links; ?>
</div><!-- .pagination -->
</nav><!-- .navigation -->
<?php
endif;
}
endif;
Code Installation
可以复制模板标记。php文件到您的主题,并删除除上述代码以外的所有代码,然后复制到作者。php文件。
然后只需包含函数文件中的文件。
require get_template_directory() . \'/template-tags.php\';
我最近删除了这段代码,并在其他主题上对其进行了测试,这是一个很好的解决方案,您只需在自定义函数中使用模板标记或直接在模板文件中使用模板标记,就可以轻松地对其进行修改,以处理归档页面导航的任何主题。