ワードプレスでは、私はthe_posts_pagination
を使って前後のボタンとページ番号を吐き出しています。 WordPressが特定の要素をdivにグループ化したいときに、WordPressが独自のマークアップを吐き出す方法が好きではありません。WordPressのthe_posts_paginationのページ番号を自分のdivにラップする方法はありますか?
これは私の現在のコードです:私はそれのように見えるようにする機能が欲しい
HTML
<nav class="navigation pagination" role="navigation">
<div class="nav-links">
<a class="prev page-numbers" href="#">Prev Page</a>
<a class="page-numbers" href="#">1</a>
<span class="page-numbers current">2</span>
<a class="page-numbers" href="">3</a>
<a class="page-numbers" href="">4</a>
<a class="next page-numbers" href="">Next Page</a>
</div>
</nav>
:それはこれを吐く
PHP
<?php the_posts_pagination(array(
'mid_size' => 2,
'prev_text' => __('Previous Page', 'textdomain'),
'next_text' => __('Next Page', 'textdomain'),
'screen_reader_text' => ('')
)); ?>
これは:
<nav class="navigation pagination" role="navigation">
<div class="nav-links">
<a class="prev page-numbers" href="#">Prev Page</a>
<div class="page-numbers-container">
<a class="page-numbers" href="#">1</a>
<span class="page-numbers current">2</span>
<a class="page-numbers" href="">3</a>
<a class="page-numbers" href="">4</a>
</div>
<a class="next page-numbers" href="">Next Page</a>
</div>
</nav>
divに次のリンクや前のリンクをラップすることもできますが、これも素晴らしいと思います。私はWordPressのコアファイルから何かを編集する必要はありません。私は関数を書く必要がありますか?
EDIT
これはこれは私が
function wp_custom_pagination($args = [], $class = 'pagination') {
if ($GLOBALS['wp_query']->max_num_pages <= 1) return;
$args = wp_parse_args($args, [
'mid_size' => 2,
'prev_next' => false,
'prev_text' => __('Older posts', 'textdomain'),
'next_text' => __('Newer posts', 'textdomain'),
'screen_reader_text' => __('Posts navigation', 'textdomain'),
]);
$links = paginate_links($args);
$next_link = get_previous_posts_link($args['next_text']);
$prev_link = get_next_posts_link($args['prev_text']);
$template = apply_filters('navigation_markup_template', '
<nav class="navigation %1$s" role="navigation">
<h2 class="screen-reader-text">%2$s</h2>
<div class="nav-links">%3$s<div class="page-numbers-container">%4$s</div>%5$s</div>
</nav>', $args, $class);
echo sprintf($template, $class, $args['screen_reader_text'], $prev_link, $links, $next_link);
}
index.phpでこれをどのように呼びますか? –
@DarrenBachan 'the_posts_pagination(...)'コードを 'the_so37580965_wp_custom_pagination(['prev_text' => __( 'Previous Page'、 'textdomain')、 'next_text' => __( 'Next Page' '、' textdomain ')]) '。それで全部です。 – MinhTri
私は何をしているのかを示すためにOPを編集しました。定義されていない関数wp_custom_pagination()を呼び出すという致命的なエラーが出ました。私はそれを少し変更しました。必要がない限り、so37580965は多すぎました。 –