我有一个使用woocommerce的wordpress设置,我只需要使用以下代码添加从url重写的自定义get变量:
add_action('init', 'kids_init_wordpress');
function kids_init_wordpress() {
// Rewrite urls
add_rewrite_rule(
'my_project/(.+?)/([^/]*)/page/?([0-9]{1,})/?$','index.php?product_cat=$matches[1]&country=$matches[2]&paged=$matches[3]',
'top'
);
add_rewrite_rule(
'my_project/(.+?)/([^/]*)/?$','index.php?product_cat=$matches[1]&country=$matches[2]','top'
);
}
使用自定义查询var
add_filter('query_vars', 'add_query_vars');
function add_query_vars($q) {
$q[] = 'country';
return $q;
}
我还为woocommerce帖子类型创建了一个名为 country 的自定义分类。 上面重写的网址工作正常,但是由于这个原因,我不知道我的所有网页网址现在都已损坏并返回404错误。
有人可以帮助我吗?
更新====================
所以我从新安装wordpress + woocommerce
中复制了这个错误1-我从woocommerce创建了一个新的自定义分类 country 2-我将一些产品添加到这个新的分类中 3-从"设置>刷新网址永久" 4-现在购物车页面返回404页面,不仅是购物车页面,还有所有wordpress页面。
这就是我创建分类法的方法:
add_action( 'init', 'create_product_taxonomies', 0 );
function create_product_taxonomies() {
// Add new taxonomy, make it hierarchical (like categories)
$labels = array(
'name' => _x( 'Regions', 'Régions', 'kids' ),
'singular_name' => _x( 'Region', 'Région', 'kids' ),
'search_items' => __( 'Chercher une région', 'kids' ),
'all_items' => __( 'All Genres', 'textdomain' ),
'parent_item' => __( 'Parent région', 'kids' ),
'parent_item_colon' => __( 'Parent région:', 'kids' ),
'edit_item' => __( 'Editer une région', 'kids' ),
'update_item' => __( 'Mettre à jour une région', 'kids' ),
'add_new_item' => __( 'Ajouter une région', 'kids' ),
'new_item_name' => __( 'Nouvelle région', 'kids' ),
'menu_name' => __( 'Régions', 'kids' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => '/', 'with_front' => true ),
);
register_taxonomy( 'region', array( 'product' ), $args );
register_taxonomy_for_object_type( 'item', 'product' );
}
答案 0 :(得分:0)
您是否尝试过从Wordpress管理面板恢复永久链接?只需转到永久链接选项,然后单击保存...