WPML让您可以使用唯一的URL用于不同语言的自定义内容。 这包括翻译帖子缩略名,以及自定义帖子类型的名称。
自定义帖子类型的URL包括帖子类型的名称和页面名称。 通常情况下,不同语言中的自定义帖子类型类似如下:
- /houses/my-green-house/
- /casas/mi-casa-verde/
URL的第一部分,粗体,是帖子类型。 第二部分是页面名称。
要翻译页面名称,单击文章编辑器中固定链接字段旁的编辑按钮。 因为WPML为每种语言使用不同的帖子,您可以单独设置它们的名称。
翻译自定义帖子类型的名称
要让WPML翻译自定义帖子类型名称,您需要使用字符串翻译模块。
在PHP中声明自定义帖子类型
如果您要通过PHP手动注册自定义帖子类型, WPML获取这些调用并注册缩略名用于翻译。
利用Types声明自定义帖子类型
要不使用PHP定义自定义帖子类型,您可以使用我们的Types插件。 Types会自动声明自定义帖子类型,这样就可以在WPML中翻译它们。
转到Types并编辑自定义帖子类型。 如果未为名称翻译启用,您会看到一个指向WPML设置屏幕的链接:
在WPML中启用自定义帖子类型名称本地化
接下来,转到 WPML -> 设置 页面。 您将看到本地化缩略名这个新部分。
用于启用自定义帖子类型名称本地化的核对表是:
1. 使得自定义帖子类型可以翻译
2. 启用网站缩略名翻译
3. 选择在不同的语言中使用不同的缩略名
现在,您已准备好翻译自定义帖子类型的名称。 输入他们的翻译,点击保存,翻译就应该出现在URL中。
翻译自定义帖子类型存档
当您手动注册自定义的帖子类型时,WordPress 允许您使用以下代码设置不同的存档缩略名:
有_存档
从3.2版开始,WPML允许 has_archive
设置为字符串。 但是,如果该字符串值被设置为不同 rewrite['slug'],
的值或CPT名称缩略名未设置, t存档缩略名将无法翻译。
代码示例1:
在这个代码示例中,我们设置 'has_archive' => true
. 假设缩略名book已被翻译成西班牙文libro,存档链接如下:
- 英语(默认语言): http://mydomain.tld/book/
- 西班牙语(第二语言): http://mydomain.tld/es/libro/
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'book', array( 'labels' => array( 'name' => __( 'Books', 'textdomain' ), 'singular_name' => __( 'Book', 'textdomain' ) ), 'public' => true, 'has_archive' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'book'), 'supports' => array('title','editor', 'custom-fields','thumbnail') ) ); }
代码示例 2:
在这个代码示例中,我们为参数设置了一个特定的字符串 'has_archive' => 'my-books'
. 现在存档链接如下:
- 英语(默认语言): http://mydomain.tld/my-books/
- 西班牙语(第二语言): http://mydomain.tld/es/my-books/
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'book', array( 'labels' => array( 'name' => __( 'Books', 'textdomain' ), 'singular_name' => __( 'Book', 'textdomain' ) ), 'public' => true, 'has_archive' => 'my-books', // Do not use the gettext functions for this parameter 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'book'), 'supports' => array('title','editor', 'custom-fields','thumbnail') ) ); }