将WordPress页面URL名称修改为其他语言安装

zvokhttg  于 9个月前  发布在  WordPress
关注(0)|答案(1)|浏览(128)

我有一个WordPress/Woocommerce安装与瑞典的基础语言和有一个麻烦与混合语言的URL。
所有的标题和网页是在瑞典,但当我有一个类别与几页的产品的链接的页码显示与英语单词“页”,而不是瑞典语单词“sida”。
https://mydomain/categori/page/2/相反https://mydomain/categori/sida/2/
我试着用这段代码来修复它:

function re_rewrite_rules() {
    global $wp_rewrite;
    
    $wp_rewrite->pagination_base    = 'sida';
    if ( ! get_option('my_re_rewrite_rules_flushed', false) ) {
        $wp_rewrite->flush_rules();
        update_option( 'my_re_rewrite_rules_flushed', time());
    }
    
}
add_action('init', 're_rewrite_rules');

字符串
上面的代码解决了所有类别没有商店页面的问题。我的商店页面的URL是:
https://mydomain/butik/
当点击另一个页码时,URL变为:
https://mydomain/butik/sida/2
我得到了一个没有任何产品的空页面。(页面中的所有元素仍然没有显示任何产品)
我需要修改我的代码吗?

noj0wjuj

noj0wjuj1#

WooCommerce注册了自己的重写规则,这可能会覆盖您的自定义规则。您需要确保您的重写规则与WooCommerce的规则兼容。
下面是你应该尝试的例子:

function re_rewrite_rules() {
    global $wp_rewrite;
    $wp_rewrite->pagination_base = 'sida';
}

function flush_rewrite_rules_once() {
    if (!get_option('my_re_rewrite_rules_flushed', false)) {
        flush_rewrite_rules();
        update_option('my_re_rewrite_rules_flushed', time());
    }
}

function custom_woocommerce_shop_pagination_base() {
    add_rewrite_rule('^butik/sida/([0-9]+)/?$', 'index.php?post_type=product&paged=$matches[1]', 'top');
}

add_action('init', 're_rewrite_rules');
add_action('wp_loaded', 'flush_rewrite_rules_once');
add_action('init', 'custom_woocommerce_shop_pagination_base');

字符串

相关问题