WPML是管理多语言网站的绝佳插件,因为它允许编辑与翻译内容相关的大量相关信息。但是,虽然这个插件添加了hreflang标签,但是缺乏对hreflang =" x-default"的支持。 anotation。
所以我想知道如何将此x-default标记添加到WPML网站,并使其指向我所需的URL语言版本。
WPML论坛中有一些代码示例,但它们适用于此插件的旧版本。所有这些都指向编辑head_langs函数,该函数当前包含以下代码:
function head_langs()
{
$languages = $this->get_ls_languages( array( 'skip_missing' => true ) );
// If there are translations and is not paged content...
//Renders head alternate links only on certain conditions
$the_post = get_post();
$the_id = $the_post ? $the_post->ID : false;
$is_valid = count( $languages ) > 1 && !is_paged() && ( ( ( is_single() || is_page() ) && $the_id && get_post_status( $the_id ) == 'publish' ) || ( is_home() || is_front_page() || is_archive() ) );
if ( $is_valid ) {
foreach ( $languages as $code => $lang ) {
$alternate_hreflang = apply_filters( 'wpml_alternate_hreflang', $lang[ 'url' ], $code );
printf( '<link rel="alternate" hreflang="%s" href="%s" />' . PHP_EOL,
$this->get_language_tag( $code ),
str_replace( '&', '&', $alternate_hreflang ) );
}
}
}
提前致谢!
答案 0 :(得分:0)
Spreadsheet spreadsheet = sheetsService.spreadsheets().get(spreadsheetId).setIncludeGridData(true).execute();
Date date = spreadsheet.getProperties().getLastEditDate();
答案 1 :(得分:-1)
我有同样的问题,我不想覆盖核心WPML文件,也没有找到使用WPML过滤器的解决方案,所以我只是将x-default hreflang写入WordPress Header,如下所示:
// add x-default to hreflang
function x_default_hreflang() {
$languages = icl_get_languages('skip_missing=1');
foreach($languages as $l){
if ( $l['language_code'] == 'en' ) { // set your default language
$x_default_url = $l['url'];
$output='<link rel="alternate" hreflang="x-default" href="' . $x_default_url . '" />' . PHP_EOL;
echo $output;
}
}
}
add_action('wp_head','x_default_hreflang',1);
add_action的优先级相当高,因此备用hreflang链接在其他链接之下输出,但据我所知,这不是必需的。