将所有帖子重定向到某个类别的URL,但不包含类别

时间:2020-05-19 作者:SEO Expert

我需要将大约200篇文章重定向到“ricette”、“svezzamento”和“alimentazione”类别,转到没有类别的url。我有这个代码,但不工作。

add_action(\'template_redirect\', \'post_redirect_by_custom_filters\');

function post_redirect_by_custom_filters() {

global $post;
$catArray = [\'ricette\',\'svezzamento\',\'alimentazione\'];
if (is_single($post->ID) && has_category($catArray, $post){ 

    $new_url = "https://www.example.com/{$post->post_name}/";
    wp_redirect($new_url, 301);
    exit;
}
}

2 个回复
SO网友:MrWhite

假设您的URL为/<category>/<post-name>/ (尾部斜杠可选)然后.htaccess 唯一的解决方案如下所示,位于.htaccess 文件:

# Remove some categories from the URL
RewriteRule ^(ricette|svezzamento|alimentazione)/([^/]+)/?$ /$2/ [R=301,L]
The$2 反向参考(在RewriteRule 替换匹配<post-name> 从请求的URL。

最好先测试302个(临时)重定向,以避免潜在的缓存问题。

https://www.example.com/la-crescita/ricette/name-post 我需要去https://www.example.com/name-post

“是”;“la crescita”;是第一类和;“ricette”;是“的子类别”;拉克雷西塔;。文件htaccess位于WordPress的根目录中

如果/la-crescita 始终是主要类别;“ricette”"E;“svezzamento”;和;“营养素”;和此主类别的子类别,然后需要修改上述指令以包含类别。例如:

RewriteRule ^la-crescita/(ricette|svezzamento|alimentazione)/([^/]+)/?$ /$2/ [R=301,L]

SO网友:Yash Tiwari

您需要将站点永久链接结构从“/%category%/%postname%/”更新为“/%postname%/”。

要更新永久链接,请转到:设置>永久链接

相关推荐

WooCommerce-TEMPLATE_REDIRECT如果结账且订单已付款?

在我的WooCommerce商店中,我想在付款完成后重定向到自定义的“感谢页面”。我正在使用以下代码:add_action( \'template_redirect\', \'myfunction\' ); function myfunction( $order_id ) { $order = wc_get_order( $order_id ); // I assume this is where I go wrong. Probably this is empty?&#