WordPress 하위 디렉터리 multisite에 hreflang 태그를 자동으로 추가합니다.
P粉884548619
P粉884548619 2024-03-26 23:24:10
0
2
507

WordPress MU 하위 디렉터리 네트워크 설정이 있습니다:

  • www.example.com - 메인 웹사이트, 미국, 글로벌
  • www.example.com/uk/ - 영국 방문자에게 표시됨
  • www.example.com/au/ - 호주 방문자에게 표시됩니다.

모든 웹페이지에 hreflang 태그를 추가하고 locations 사용자 정의 게시물 유형을 제외하려고 합니다.

이 질문에서 어린이 테마의 코드를 조정했습니다. functions.php 받는 사람:

으아아아

이 코드는 기본 웹사이트의 홈페이지와 샘플 페이지에서 작동합니다: www.example.com/features/;

으아아아

다음과 함께 작동합니다:

  • AU 홈페이지,
  • AU 웹사이트의 기능 페이지: https://www.example.com/au/features/,

하지만 www.example.com/uk/ 다음만 생성됩니다.

으아아아

누락:

으아아아

특집 페이지는 간단한 WordPress 페이지입니다.

도움을 주셔서 감사합니다.

편집

추가하면 if ($lang == 'uk') {print_r(get_headers($updated_url_lang_path));} 다음이 표시됩니다.

으아아아

다음을 올바르게 추가하세요.

으아아아

단, WordPress에 로그인해야만 볼 수 있습니다.

시크릿 창에서 https://www.example.com/uk/ 다음이 표시됩니다(만):

function add_hreflang_attribute() {
   $site_url = network_site_url(); // base URL
   $alt_langs = array( '', 'au', 'uk' ); // two-letter language code
   $page_path = substr(get_permalink(), strlen(home_url('/'))); // path of page after base URL
   
   if (!( is_singular( 'locations' ) ) ) {
           
       // loop through the alternative languages, and get the appropriate hreflang tag for each that exists
       foreach ($alt_langs as $lang) {
           $updated_url_lang_path = $site_url . $lang . '/' . $page_path;
           $url_headers = @get_headers($updated_url_lang_path);
           if($url_headers && strpos( $url_headers[0], '200')) {
               if ($lang == 'uk') {
                   echo '<link rel="alternate" href="' . $updated_url_lang_path . '" hreflang="en-gb" />'. PHP_EOL;
               } elseif ($lang == '') {
                 
               }
               else {
                   echo '<link rel="alternate" href="' . $updated_url_lang_path . '" hreflang="en-' . $lang . '" />'. PHP_EOL;
               }
           }
       }
       
       // set primary as x-default
       echo '<link rel="alternate" href="' . $site_url . $page_path . '" hreflang="x-default" />';
        
   }

}

P粉884548619
P粉884548619

모든 응답(2)
P粉701491897

안녕 스티브, 이 코드를 사용하면 아주 좋을 것 같아요! ! !

으아악
P粉476883986

코드를 다음으로 변경했습니다:

으아아아

잘 작동합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿