将特定类别的帖子重定向到子域

时间:2013-01-22 作者:Voiceable

我们有一个WordPress网站,其中包含不同类别的帖子和页面。现在,我们将特定类别的帖子移至子域&;我们需要301重定向,以便该特定类别的每个帖子都指向子域。所有的帖子都有。主域中的html扩展,因此我们还将子域permalink结构更改为。html。例如:我们有http://www.mydomain.com/category/category-name &;我们已为此类别创建了子域http://category-name.mydomain.com
我们可以使用轻松地将此类别重定向到子域。htaccess 301重定向但只重定向了该类别的主页而不是所有的帖子,我们想将该类别的所有帖子重定向到指向子域的帖子。示例帖子:www.mydomain。com/示例帖子。此类别的html需要使用类别名称重定向。mydomain。com/示例帖子。html。

如何将该类别的所有帖子也重定向到子域中?此外,我们应该删除主域中的所有帖子,还是必须保留它?

1 个回复
SO网友:Ahmad M

您可以使用template_redirect 实现这一目标的行动挂钩:

add_action(\'template_redirect\', \'redirect_category_posts\');
function redirect_category_posts() {
    global $post;
    if (is_single($post->ID) && in_category(\'category-name\', $post)) {
        $new_url = "http://category-name.mydomain.com/{$post->post_name}.html";
        wp_redirect($new_url, 301);
        exit;
    }
}
请注意,主域和子域中的帖子必须具有相同的slug或post_name 使此代码正常工作。

结束

相关推荐

在小部件选项中使用wp_Dropdown_Categories

我有一个产品搜索小部件,当您选择某些产品时,会显示一个隐藏字段。我想在我的小部件选项中设置一个自定义类别,然后用于显示隐藏字段。当我将父category\\u id手动添加到代码中时,前端可以100%工作。现在我只需要在后端设置category选项。这是我目前拥有的,但它不起作用,因为它没有存储所做的选择。我省略了搜索表单,因为它没有使用任何小部件选项。class Equipment_Search extends WP_Widget { function Equipment_Se