web-dev-qa-db-ja.com

Get_the_posts_pagination関数でページ区画テキストを編集します。

Link-template.phpのscreen_reader_textを編集したいのですが、更新時に上書きされないように、テーマ内でこれを実行できますか。それはフィルタが最良の選択肢であるように思われます、しかし私はどんなフィルタを使うべきかに関するドキュメンテーションを見つけることができません。

これが、link-template.phpから変更したいコードです。

    if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
    $args = wp_parse_args( $args, array(
        'mid_size'           => 1,
        'prev_text'          => _x( 'Previous', 'previous set of posts' ),
        'next_text'          => _x( 'Next', 'next set of posts' ),
        'screen_reader_text' => __( 'Posts navigation' ),
    ) );

関数や他の方法で投稿ナビゲーションを他のものに変更するにはどうすればいいですか?

1
Jon

テーマファイルで the_posts_pagination() / wrapper関数を呼び出すときにscreen_reader_text引数を変更できます。

<?php the_posts_pagination( array(
    'mid_size'  => 2,
    'prev_text' => __( 'Back', 'textdomain' ),
    'next_text' => __( 'Onward', 'textdomain' ),
    'screen_reader_text' => __( 'Whatever', 'textdomain' ),
) ); ?>

テンプレートファイルでthe_posts_paginationを検索し、必要に応じてテキストを調整します。

enter image description here 

0
sandrodz

__()は、テキストがgettextフィルタを通過していることを意味します。ですから、functions.phpに次のようなものを追加することで、そこに到達できます。

function change_my_text( $translated_text, $text, $domain ) {
    if ( $translated_text === "Posts navigation" )
        $translated_text = "My fab new text";
    return $translated_text;
}
add_filter( 'gettext', 'change_my_text', 20, 3 );

それが役立つことを願っています

1
Peter HvD