我已经建立了一个WooCommerce网站,我希望这些产品的链接为/ inventory / category / sub-category / product-name。
我有一个自定义页面/库存和产品库设置为/ product,但想解决这个问题。
我已经设置了一个Wordpress重写规则,如下所示:
// rewrite rules for posts
function wpse_product_rewrite_rules( $wp_rewrite ) {
global $wp_rewrite;
$base = "inventory";
// get all product posts
$query = new WP_Query(array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => -1
));
// generate the rewrite rules
$rules = array();
while ($query->have_posts()) {
$query->the_post();
$post_id = get_the_ID();
unset($terms);
$getslugid = wp_get_post_terms( $post_id, 'product_cat' );
foreach( $getslugid as $thisslug ) {
$terms .= $thisslug->slug . '/';
}
$post_slug = get_post_field( 'post_name', get_post($product_id) );
$rewrite_url = $terms.$post_slug;
$rules[$base . '/' . $rewrite_url . '/?$'] = 'index.php?p=' . $post_id;
}
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
return $wp_rewrite->rules;
wp_reset_query();
}
add_action('generate_rewrite_rules', 'wpse_product_rewrite_rules', 'top');
// end rewrite rules for posts
重定向最初起效(这是指向/ inventory / category / subcategor / product的链接不是404),但随后我认为另一个重定向会将我发送到/ product / product-name。
我认为Wordpress产品基础在某种程度上超越了我的自定义重定向。
有没有办法解决这个问题?