固定链接上的自定义分类

时间:2010-12-29 作者:Niraj Chauhan

有可能将自定义分类法引入permalink吗?

目前我的permalink看起来像这样/%postname%/%category%

但我还想在permalink中添加自定义分类法,所以它应该是这样的

/%postname%/%category%/%location%/%mba_courses%

这可能吗?

我找到了这个答案的解决方案,我在google上搜索并找到了这个代码,它对我来说非常有效

add_filter(\'post_link\', \'mba_courses_permalink\', 10, 3);
add_filter(\'post_type_link\', \'mba_courses_permalink\', 10, 3);

function mba_courses_permalink($permalink, $post_id, $leavename) {
    if (strpos($permalink, \'%mba_courses%\') === FALSE) return $permalink;

        // Get post
        $post = get_post($post_id);
        if (!$post) return $permalink;

        // Get taxonomy terms
        $terms = wp_get_object_terms($post->ID, \'mba_courses\'); 
        if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug;
        else $taxonomy_slug = \'mba_courses\';

    return str_replace(\'%mba_courses%\', $taxonomy_slug, $permalink);
}
但现在我还有一个问题,当我在谷歌上搜索我的网站时,我得到了旧的url结构链接,当我点击时,我得到了404错误,因为帖子仍然在网站内,只是url发生了变化,所以我如何使旧的url指向新的url?我的意思是,如果单击旧的url,而不是重定向到404页面,它能重定向到我有新url的实际帖子吗?

这可能吗?

2 个回复
最合适的回答,由SO网友:curtismchale 整理而成

你要找的是301重定向。我使用了两个插件来实现这一点。一个通知我404个错误(http://wordpress.org/extend/plugins/404-notifier/ ) 另一方面,301重定向的编写也很容易(http://wordpress.org/extend/plugins/simple-301-redirects/ ).

您还可以在中写入301重定向。htaccess文件并通过服务器日志查找404通知。

长期而言,你只需要等待谷歌抓取网站并找到新的链接结构。如果其他人从其他博客链接到你的网站,你可以尝试让他们修复他们的链接,但你不太可能让很多人这么做。

SO网友:Amit

http://wordpress.org/extend/plugins/custom-post-permalinks/ 对于自定义帖子,我相信您可以轻松地扩展它以支持“post”帖子类型。

我在几个网站上广泛使用了它,效果很好。

结束

相关推荐