Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移除';类别';来自wordpress url的slug,带有自定义类别库';博客';_Wordpress - Fatal编程技术网

移除';类别';来自wordpress url的slug,带有自定义类别库';博客';

移除';类别';来自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

我有一个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中删除“类别”段塞,同时保持“博客”段塞完整?

我使用了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,它会像你提到的那样正确返回。域/博客/帖子名称,但单击类别时返回的域/博客/类别/类别名称不正确,因为类别本身就是父类别。