찾다

 >  Q&A  >  본문

WordPress 하위 디렉터리 multisite에 hreflang 태그를 자동으로 추가합니다.

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

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

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

으아아아

이 코드는 기본 웹사이트의 홈페이지와 샘플 페이지에서 작동합니다: www.example.com/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粉884548619P粉884548619271일 전509

모든 응답(2)나는 대답할 것이다

  • P粉701491897

    P粉7014918972024-03-27 19:54:34

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

    으아악

    회신하다
    0
  • P粉476883986

    P粉4768839862024-03-27 10:01:07

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

    으아아아

    잘 작동합니다.

    회신하다
    0
  • 취소회신하다