自定义主题中的Wordpress分页

时间:2013-08-18 11:40:26

标签: wordpress-plugin wordpress-theming wordpress

我使用以下代码在我的wordpress页面上生成分页:

<?php
    global $wp_query;

    $big = 999999999; // need an unlikely integer

    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages
    ) );
?>

注意'format' => '?paged=%#%'。根据Codex,漂亮链接的格式不同,即codex says

  

格式   (字符串)(可选)用于分页结构。默认值为'?page=%#%',如果使用非常永久链接,则为'/page/%#%',其中'%#%'将替换为页码。   默认值:'?page=%#%'

我得到的是,每当我更改永久链接格式时,我都必须更改主题文件中的php代码。这是非常繁琐的,所以有什么方法可以让我的分页适应永久链接风格,即如果我将永久链接风格改为漂亮,它不会破坏?

1 个答案:

答案 0 :(得分:0)

我在Wordpress Codex here

中挖了一些东西

using_mod_rewrite_permalinks - 返回true您的博客通过mod_rewrite使用“漂亮”永久链接。

所以试试这个

<?php
global $wp_query;
global $wp_rewrite;

$big = 999999999; // need an unlikely integer

if( $wp_rewrite->using_mod_rewrite_permalinks() ) {
    myformat = '/page/%#%';
} else {
    myformat = '?page=%#%';
}

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => myformat,
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages
) );
?>