移除';类别';来自wordpress url的slug,带有自定义类别库';博客';
我有一个wordpress网站,具有以下自定义结构 /blog/%postname%/ /博客/%postname%/ 类别库未被触及,因此当点击网站上的任何类别时,会给出以下url: domain/blog/category/category-name domain/blog/author/author-name 域/博客/类别/类别名称 同样,单击“作者”时,会显示以下url: domain/blog/category/category-name domain/blog/author/author-name 域名/博客/作者/作者姓名 如何从上述类别url中删除“类别”段塞,同时保持“博客”段塞完整?移除';类别';来自wordpress url的slug,带有自定义类别库';博客';,wordpress,Wordpress,我有一个wordpress网站,具有以下自定义结构 /blog/%postname%/ /博客/%postname%/ 类别库未被触及,因此当点击网站上的任何类别时,会给出以下url: domain/blog/category/category-name domain/blog/author/author-name 域/博客/类别/类别名称 同样,单击“作者”时,会显示以下url: domain/blog/category/category-name domain/blog/author/aut
我使用了Yoast插件,删除类别url插件,将父类别添加为blog,添加了删除类别的代码,将类别库设置为,将类别库设置为blog/。和其他解决方案,我可以在网上找到后,3天的搜索 在使用插件、Yoast或remove category url时,它也会删除“blog”slug。通过添加functions.php文件从代码中删除category时,url确实如下所示,但返回404错误 domain/blog/category-name 域名/博客/类别名称 类似地,如果我将category base更改为blog或blog/,那么作者URL将返回404错误页面 我用于删除类别url的代码来自以下页面: function remove_category( $string, $type ) { if ( $type != 'single' && $type == 'category' && ( strpos( $string, 'category' ) !== false ) ) { $url_without_category = str_replace( "/category/", "/", $string ); return trailingslashit( $url_without_category ); } return $string; } add_filter( 'user_trailingslashit', 'remove_category', 100, 2); 函数remove_category($string,$type) { 如果($type!='single'&&&$type='category'&&($string,'category')!==false)) { $url\u不带\u类别=str\u替换(“/category/”、“/”、$string); 返回trailingslashit($url\u,无类别); } 返回$string; } 添加过滤器('user\u trailingslashit','remove\u category',100,2);
您是否已进入wordpress中的永久链接设置,并选择自定义并输入“/blog/%postname%/”然后单击保存设置。然后,您需要再次单击保存设置以刷新规则以避免404。确保类别库为空。对我来说效果很好。是的,我已经尝试过了,但是在我的要求中,我们需要从类别url中删除“category”slug,并在url中保持“blog”slug的完整性。如上所述,在执行上述操作时,它不会删除类别slug,而是url显示为:domain/blog/category/category nameMine返回:domain/blog/post name。“类别”是“类别名称”的父类别吗?也许我不明白你的问题。是的,如果是post,它会像你提到的那样正确返回。域/博客/帖子名称,但单击类别时返回的域/博客/类别/类别名称不正确,因为类别本身就是父类别。