web-dev-qa-db-ja.com

Paginate_Links()の編集フォーマット

私は paginate_links を使ってループの結果をページ分割します。

番号の代わりにドットを使用してページ付けをスタイルしたいのですが、これを実行する方法がわかりません。

私はCSSを試してみることができますが、私はきれいな方法を好むでしょう。

example.

<-                 o o o                ->

currently.

<-                 1 2 3                ->

これが現在私のリンクの出力方法です。

<?php

$big = 999999999;

$paginate_links = paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $the_query->max_num_pages,
    'prev_text'    => __('<div class="prev pull-left"><i class="icon-arrow_thin_left"></i></div>'),
    'next_text'    => __('<div class="next pull-right"><i class="icon-arrow_thin_right"></i></div>'),
    'type' => 'array',
    'n_display' => 'test'
) );

foreach ( $paginate_links as $pgl ) {
    echo "$pgl";
}

?>

Wordpressの コアpaginate_links()関数 を見ると、とにかく$ n_displayの出力を前後に変更できます。

1
hyperdrive

これを実行するための明確な方法はありません(ちょっと面倒なコードを見てすぐにわかります)が、$n_displayはフィルターを持つフォーマット number_format_i18n() 関数を介して渡されます。

だからあなたは以下のようなことを試すことができます:

function make_number_into_dot( $number ) {
    return 'o';
}

add_filter( 'number_format_i18n', 'make_number_into_dot' );

// your pagination handling here

remove_filter( 'number_format_i18n', 'make_number_into_dot' );
0
Rarst