gpt4 book ai didi

php - 无法在 WPML 中翻译一个自定义帖子类型 slug

转载 作者:可可西里 更新时间:2023-11-01 12:21:15 33 4
gpt4 key购买 nike

我已经在 WPML 论坛上提出了这个问题,但希望这里有人能够提供帮助。

我正在尝试为自定义帖子类型翻译 slug

英文网址为http://brigade-electronics.com/nl/products/backeye360/

翻译后的 URL 应该是 http://brigade-electronics.com/nl/producten/backeye360/

相反,我在启用翻译 slug 选项后导航到 URL 时收到 404 错误

重复问题的步骤:

  • 点击 WPML -> 翻译选项
  • 启用翻译自定义帖子 slug(通过 WPML 字符串翻译)。
  • 在自定义帖子设置下(在同一页面上)点击翻译复选框
  • 为每种语言添加了翻译的 slug
  • 点击保存
  • 导航到前端,仅在产品部分看到 404 错误。

我已经运行了故障排除页面中的所有选项,以清理数据库。

这似乎只适用于产品部分中的某些页面。最奇怪的部分是该网站的加拿大部分,因为术语“产品”是英文的,因此无论是否有翻译的 slug,URL 都保持不变,但是,我仍然在这些页面上遇到 404 错误。

还值得注意的是,所有其他自定义帖子类型都可以正常工作。

自定义帖子类型已经以标准方式注册

function register_products_post_type() {

$labels = array(
'name' => __( 'Products', '' ),
'singular_name' => __( 'Product', '' )
);

$args = array(
'label' => __( 'Products', '' ),
'labels' => $labels,
'description' => '',
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_rest' => false,
'rest_base' => '',
'has_archive' => false,
'show_in_menu' => true,
'exclude_from_search' => false,
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => true,
'rewrite' => array( 'slug' => 'products', 'with_front' => false ),
'query_var' => true,
'menu_position' => 6,
'menu_icon' => 'dashicons-cart',
'supports' => array( 'title', 'thumbnail', 'page-attributes' )
);

register_post_type( 'products', $args );

}
add_action( 'init', 'register_products_post_type' );

根据下面的回答,上面的代码已经更新为

add_action( 'init', 'create_post_type');
function create_post_type() {
$labels = array(
'name' => _x( 'Products', 'general name of the post type' ),
'singular_name' => _x( 'Products', 'name for one object of this post type' ),

);
$args = array(
'labels' => $labels, // An array that defines the different labels assigned to the custom post type
'public' => true, // To show the custom post type on the WordPress dashboard
'supports' => array( 'title', 'thumbnail', 'page-attributes' ),
'has_archive' => true, //Enables the custom post type archive at
'hierarchical' => true, //Enables the custom post type to have a hierarchy
'rewrite' => array( 'slug' => _x('products', 'URL slug')),
);
register_post_type( 'products', $args );
}

slug 的新翻译出现在“字符串翻译”部分,更新这些字符串时,我得到相同的 404 错误。如果我将这些保留为英文,则产品部分可以正常工作。

谢谢

最佳答案

试试这个

    add_action( 'init', 'create_post_type');
function create_post_type() {
$labels = array(
'name' => _x( 'Products', 'general name of the post type' ),
'singular_name' => _x( 'Products', 'name for one object of this post type' ),

);
$args = array(
'labels' => $labels, // An array that defines the different labels assigned to the custom post type
'public' => true, // To show the custom post type on the WordPress dashboard
'supports' => array( 'title', 'thumbnail', 'page-attributes' ),
'has_archive' => true, //Enables the custom post type archive at
'hierarchical' => true, //Enables the custom post type to have a hierarchy
'rewrite' => array( _x('slug' => 'products'), 'with_front' => false ),
);
register_post_type( 'products', $args );
}

关于php - 无法在 WPML 中翻译一个自定义帖子类型 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410257/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com