WordPress MU 하위 디렉터리 네트워크 설정이 있습니다:
모든 웹페이지에 hreflang 태그를 추가하고 locations
사용자 정의 게시물 유형을 제외하려고 합니다.
이 질문에서 어린이 테마의 코드를 조정했습니다.
functions.php
받는 사람:
이 코드는 기본 웹사이트의 홈페이지와 샘플 페이지에서 작동합니다: www.example.com/features/
;
다음과 함께 작동합니다:
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" />'; } }
안녕 스티브, 이 코드를 사용하면 아주 좋을 것 같아요! ! !
으아악코드를 다음으로 변경했습니다:
으아아아잘 작동합니다.