如何解决我可以在前端和后端为自定义帖子类型设置不同的 url 吗?
这个问题很简单。我有自定义帖子类型“项目”。在项目详细信息页面的前端,我不希望“项目”显示在 url 中。我的意思是默认项目详细信息默认 url 将是 site_url/project/project_url 但我希望新 url 是 site_url/project_url。 我试过了
'rewrite' => array(
'slug' => '','with_front' => false,),
但这会导致后端和前端的 url 都被更改,并且名为“Projects”的页面也会引发 404 错误。
这能做到吗?欢迎任何建议或帮助。
解决方法
根据我的评论,简而言之,这不是 Wordpress 所预期的初始行为。只有帖子或页面应该显示该行为。我刚刚做了几个测试。没有一个答案能正常工作,因为它们都会对某些关键功能产生影响。
如果您没有使用 single-cpt.php,那么接受的答案可能对您有用(例如:https://wordpress.stackexchange.com/a/204210/190376) 但话又说回来,我建议您避免弄乱默认的永久链接结构。
在任何情况下,这些示例都没有讨论在修改永久链接结构时刷新重写规则。进行测试,测试该帖子中给出的所有答案(例如:https://wordpress.stackexchange.com/questions/203951/),并将以下内容添加到您的 function.php 文件的顶部。
<?php
/**
* flush_rewrite_rules
* Remove rewrite rules and then recreate rewrite rules.
* @link https://developer.wordpress.org/reference/functions/flush_rewrite_rules/
* Need to be removed before pushing to live.
* Can be replaced on live by: add_action( 'after_switch_theme','flush_rewrite_rules' );
*/
flush_rewrite_rules(); ?>
确保每次都在冲洗是确保测试准确的唯一方法。
,我试图在不使用任何插件的情况下实现它,但我失败了。所以我使用了插件“https://wordpress.org/plugins/permalink-manager/”,它帮助我实现了我想要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。