【发布时间】:2014-10-03 10:46:10
【问题描述】:
对于我的一个新的 Wordpress 网站,我遇到了一个小问题。
有一个名为“vehicle”的自定义帖子类型,它使用 url slug 'vehicle'。
问题是,我的网站不是针对汽车,而是针对船,所以我想将 URL 更改为 www.domain.com/boats/boatname1 而不是 www.domain.com/vehicle/boatname1。
我已使用以下代码成功编辑了 slug - 之后我刷新了重写 url 并来回更改了永久链接:
function change_vehicle_rewrite_rules() {
global $wp_post_types;
$rewrite = &$wp_post_types['vehicle']->rewrite;
$rewrite['slug'] = 'horses';
}
add_action( 'init', 'change_vehicle_rewrite_rules', 999 );
在我的主页上,有显示 www.domain.com/boats/boatname 的 nog 链接,但是当我点击它们时,我得到一个 404。如果我将 url 更改为 www.domain.com/vehicle/boatname 它确实有效。所以 url 已经改变了,但是工作帖子仍然显示在 /vehicle/ 下而不是 /boats/ 下。
有没有办法,也许使用 .htaccess,以便我网站上显示 /vehicle/ 的每个 url 都更改为 /boats/ ?
或者当我点击链接 www.domain.com/boats/boatname 时,它会显示 /vehicle/ 内容,但在 URL 中显示 /boats/。
提前感谢您的帮助!
迈克
【问题讨论】:
-
我认为篡改 .htaccess 不会有任何好处。虽然您可能会解决此问题(例如,当 url 中包含“boat”时传递
type=vehicle,这将导致进一步破坏。Worpress 需要通过其内部重写逻辑来处理所有事情。您应该尝试保留车辆类型,但在尝试任何其他解决方案之前将其 slug 更改为船。
标签: php wordpress .htaccess slug