woocommerce 中文固定链接变成数字ID

WP 教程 2年前 (2020) 大卖家
196 0 0
加速器,跨境电商必备

woocommerce是我用的比较多的一个商城系统。使用的时候发现了个问题。。
默认商城的POSTID是中文或者标题。我想修改成数字ID 找了很多插件有很多都可以解决这个问题。
但是我现在 遇到的问题是 在WPML插件的双语环境下。中文部分可以变成数字ID。英文部分不行
中文部分www.abc.com/123.html 没问题
但是英文部分 www.abc.com/en/123.html 出现404

以下代码 复制到主题的 functions.php下就可以完成将postname 变成 postid 但是我现在遇到的问题是 WPML下英文部分 404 很郁闷!

$posttypes = array(
    'product' => 'product',//Woocommerce产品自定义文章类型
    'portfolio' => 'portfolio'//作品集自定义文章类型
);
add_filter('post_type_link', 'custom_book_link', 1, 3);
function custom_book_link( $link, $post = 0 ){
    global $posttypes;
    if ( in_array( $post->post_type,array_keys($posttypes) ) ){
        return home_url( $posttypes[$post->post_type].'/' . $post->ID .'.html' );
    } else {
        return $link;
    }
}
add_action( 'init', 'custom_book_rewrites_init' );
function custom_book_rewrites_init(){
    global $posttypes;
    foreach( $posttypes as $k => $v ) {
        add_rewrite_rule(
            $v.'/([0-9]+)?.html$',
            'index.php?post_type='.$k.'&p=$matches[1]',
            'top' );
    }
}
版权声明:大卖家 发表于 15 November 2020 9:06 pm。
转载请注明:woocommerce 中文固定链接变成数字ID | 大卖家

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...