source

h2에 착신하는 screen_reader_text를_posts_pagination에서 삭제하려면

manysource 2023. 2. 12. 18:10

h2에 착신하는 screen_reader_text를_posts_pagination에서 삭제하려면

저는 215개의 테마를 사용하고 있으며 페이지 번호부여는 _posts_pagination을 사용하고 있으며 h2 태그와 텍스트를 삭제하고 싶습니다.

시도했지만 h2 태그가 아닌 "Post Navigation" 텍스트만 삭제되었습니다.

the_posts_pagination( array(
  'prev_text'          => __( ' ', 'twentyfifteen' ),
  'next_text'          => __( ' ', 'twentyfifteen' ),
  'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( '', 'twentyfifteen' ) . ' </span>',//Page
  'screen_reader_text' => __( '&nbsp;' )
) );

제발 도와주세요.감사해요.

h2 태그는 클래스가 있는데 왜 없애야 하는지 모르겠다.screen-reader-text표준 215 테마에서는 표시되지 않도록 잘려져 있습니다.

단, 가장 쉬운 방법은 get_the_posts_pagination() 함수를 사용하여 HTML을 가져와 삭제한 후 표시하는 것입니다.

$nav = get_the_posts_pagination( array(
        'prev_text'          => __( '&nbsp;', 'twentyfifteen' ),
        'next_text'          => __( '&nbsp;', 'twentyfifteen' ),
        'screen_reader_text' => __( 'A' )
    ) );
$nav = str_replace('<h2 class="screen-reader-text">A</h2>', '', $nav);
echo $nav;

자세한 내용은 여기를 참조하십시오.

이걸 쓰세요.나에겐 효과가 있어

function the_clean_pagination()
{
 $thePagination = get_the_posts_pagination();

 echo preg_replace('~(<h2\\s(class="screen-reader-text")(.*)[$>])(.*)(</h2>)~ui', '', $thePagination);
} 
<?php the_posts_pagination(array( 'screen_reader_text'=> '&nbsp;'));?>

이것은 오래된 것입니다만, 링크로 이동하여 함수 the_filength_navigation()을 검색하면 다음 arg 'screen_filength_text' => __('Posts navigation')이 표시되므로 덮어쓸 필요가 있습니다.

the_posts_pagination(array(
    'mid_size' => 2,
    'prev_text' => '<span class="prev-page">Prev</span>',
    'next_text' => '<span class="next-page">Next</span>',
    'screen_reader_text' => ' ',
    'before_page_number' => '',
));

빈칸으로 되돌리려면 빈칸을 넣어야 합니다.__('가 아닙니다.또 다른 옵션은 필터를 사용하여 네비게이션훅 "navigation_markup_template"에 대해 자체 템플릿을 작성하는 것입니다.여기서 를 보실 수 있습니다.

H2 태그와 텍스트를 제거하고 싶다고 말씀하셨습니다.그러나 접근성을 위해 h2를 클래스와 함께 유지하는 것이 도움이 됩니다.screen-reader-text접근성에 대한 이 WordPress 기사에서는 다음 정보를 숨기는 방법을 보여 줍니다.Post navigation텍스트는 시각적으로 표시되지만 화면 판독기가 사용할 수 있도록 유지합니다.

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

해라

$nav = str_replace('<h2 class="screen-reader-text">A</h2>', '', $nav);

이 기능을 추가합니다.php

function sanitize_pagination($content) {
  // Remove h2 tag
  $content = preg_replace('#<h2.*?>(.*?)<\/h2>#si', '', $content);
  return $content;
}

add_action('navigation_markup_template', 'sanitize_pagination');

단순히 추가한 screen_reader_text를 삭제하려면'screen_reader_text'=>' 'in in 。

나한텐 효과가 있었어!

오래된 투고인 것은 알지만, 다른 해결책은 css에 숨기는 것입니다.

.screen-text{표시:없음}

심플하고 더럽고 효과적!

언급URL : https://stackoverflow.com/questions/29063380/to-remove-screen-reader-text-coming-in-h2-from-the-posts-pagination