Wordpress页面返回404错误

时间:2017-10-23 10:23:48

标签: php wordpress url-rewriting woocommerce

我有一个使用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' );
}

1 个答案:

答案 0 :(得分:0)

您是否尝试过从Wordpress管理面板恢复永久链接?只需转到永久链接选项,然后单击保存...