WooCommerce:将类名称添加到分页项目

Cra*_*ray 1 php wordpress twitter-bootstrap woocommerce bootstrap-4

要使用 Boostrap 4 类,我想向 WooCommerce 分页添加一些类名称。不幸的是我找不到办法这样做。

我已经查过了pagination.php。它给了我以下代码:

$total   = isset( $total ) ? $total : wc_get_loop_prop( 'total_pages' );
$current = isset( $current ) ? $current : wc_get_loop_prop( 'current_page' );
$base    = isset( $base ) ? $base : esc_url_raw( str_replace( 999999999, '%#%', remove_query_arg( 'add-to-cart', get_pagenum_link( 999999999, false ) ) ) );
$format  = isset( $format ) ? $format : '';

if ( $total <= 1 ) {
    return;
}
?>
<nav class="woocommerce-pagination">
    <?php
        echo paginate_links( apply_filters( 'woocommerce_pagination_args', array( // WPCS: XSS ok.
            'base'         => $base,
            'format'       => $format,
            'add_args'     => false,
            'current'      => max( 1, $current ),
            'total'        => $total,
            'prev_text'    => '&larr;',
            'next_text'    => '&rarr;',
            'type'         => 'list',
            'end_size'     => 3,
            'mid_size'     => 3,
        ) ) );
    ?>
</nav>
Run Code Online (Sandbox Code Playgroud)

但输出是这样的:

<nav class="woocommerce-pagination">
    <ul class="page-numbers">
        <li><span aria-current="page" class="page-numbers current">1</span></li>
        <li><a class="page-numbers" href="/link/">2</a></li>
        <li><a class="page-numbers" href="/link/">3</a></li>
        <li><a class="page-numbers" href="/link/">4</a></li>
        <li><a class="page-numbers" href="/link/">5</a></li>
        <li><a class="next page-numbers" href="/link/">&rarr;</a></li>
    </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,该类page-numbers不是paginate_links数组的一部分。所以我想我无法在文件中更改它。

我可以使用任何钩子将类添加到<ul>,<li><a>元素吗?

这是我尝试复制的结构(Bootstrap 4):

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="#">Previous</a></li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item"><a class="page-link" href="#">Next</a></li>
  </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

7uc*_*f3r 7

检索存档帖子页面的分页链接。

\n\n
\n

要编辑的模板文件

\n\n
    \n
  • 可以通过将其复制到 来覆盖此模板yourtheme/woocommerce/loop/pagination.php
  • \n
\n
\n

因此,为了获得所需的结果,您可以应用以下内容

\n

代替

\n\n
<nav class="woocommerce-pagination">\n    <?php\n    echo paginate_links(\n        apply_filters(\n            \'woocommerce_pagination_args\',\n            array( // WPCS: XSS ok.\n                \'base\'      => $base,\n                \'format\'    => $format,\n                \'add_args\'  => false,\n                \'current\'   => max( 1, $current ),\n                \'total\'     => $total,\n                \'prev_text\' => \'&larr;\',\n                \'next_text\' => \'&rarr;\',\n                \'type\'      => \'list\',\n                \'end_size\'  => 3,\n                \'mid_size\'  => 3,\n            )\n        )\n    );\n    ?>\n</nav>\n
Run Code Online (Sandbox Code Playgroud)\n

\n
<nav aria-label="Page navigation example">\n    <?php\n    $paginate_links =  paginate_links(\n        apply_filters( \'woocommerce_pagination_args\',\n            array(\n                \'base\'         => $base,\n                \'format\'       => $format,\n                \'add_args\'     => false,            \n                \'current\'      => max( 1, $current ),\n                \'total\'        => $total,\n                \'prev_text\'    => \'&larr;\',\n                \'next_text\'    => \'&rarr;\',\n                \'type\'         => \'array\',\n                \'end_size\'     => 3,\n                \'mid_size\'     => 3,\n            ) \n        )\n    );\n\n         \n    if ( is_array( $paginate_links ) ) {\n    ?>\n        <ul class="pagination">\n        <?php \n        foreach ($paginate_links as $paginate_link) {\n        ?>\n            \n            <li class="page-item">\n                <?php\n                $paginate_link = str_replace( \'page-numbers\', \'page-link\', $paginate_link );\n                echo wp_kses_post($paginate_link)\n                ?>\n            </li>\n                \n        <?php\n        }\n        ?>  \n        </ul>\n    <?php\n    }\n    ?>\n</nav>\n
Run Code Online (Sandbox Code Playgroud)\n
\n

结果:

\n
<nav aria-label="Page navigation example">\n    <ul class="pagination">\n        <li class="page-item"><span class="page-link current">1</span></li>\n        <li class="page-item"><a class="page-link" href="#">2</a></li>\n        <li class="page-item"><a class="page-link" href="#">3</a></li>\n        <li class="page-item"><a class="next page-link" href="#">\xe2\x86\x92</a></li>\n    </ul>\n</nav>  \n
Run Code Online (Sandbox Code Playgroud)\n