加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在使用wordpress重写URL时避免重定向

发布时间:2020-12-13 16:48:50 所属栏目:PHP教程 来源:网络整理
导读:我已经使用WordPress自己的函数设置了重写规则. 重写代码如下所示: add_rewrite_rule('^testrule/(.+)?$','index.php?p=$matches[1]','top'); 规则是有效的,只要每当我转到该URL时,我都会被重定向,这会使URL发生变化,我不希望这种情况发生. 有小费吗? 解决
我已经使用WordPress自己的函数设置了重写规则.
重写代码如下所示:

add_rewrite_rule('^testrule/(.+)?$','index.php?p=$matches[1]','top');

规则是有效的,只要每当我转到该URL时,我都会被重定向,这会使URL发生变化,我不希望这种情况发生.

有小费吗?

解决方法

您可能应该使用它在我的情况下帮助的 add_permastruct和 add_rewrite_tag功能.虽然我的情况有点不同,但想法会有类似的.

我有自定义的帖子类型名为“指南”,我需要它的自定义URL(不同于自定义帖子名称)加上我在URL中使用post slugs,这是我的解决方案:

add_action('init','custom_permastruct_rewrite');
function custom_permastruct_rewrite() {
    global $wp_rewrite;

    $wp_rewrite->add_rewrite_tag("%guide_slug%",'([^/]+)',"post_type=guide&name=");
    $wp_rewrite->add_permastruct('my_rule','/my_custom_name/%guide_slug%',false);
}

所以当你去地址时:
http://example.com/my_custom_name/my_post_slug
在上面的URL下,它显示以下内容:
http://example.com/?post_type=guide&name=my_post_slug
(没有重定向到最后一个地址)

您可以根据需要调整“post_type = guide& name =”,例如您可以按ID查找帖子 – 因此将“p =”放在显示内容中:http://example.com/my_custom_name/24到http://example.com/?p=24

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读