我在互联网上寻找解决方案,尝试了一两个插件从wordpress url中删除/ category /。
虽然其中一些插件很好,但类别链接仍显示/类别/。
此外,我已尝试在永久链接设置中的类别基本选项中输入./。
有谁知道我可以做什么像php搜索和替换或类似的东西?
答案 0 :(得分:2)
http://wordpress.org/extend/plugins/wp-no-category-base/并且它不会改变永久链接,因此删除它会使结构恢复没有问题。而且您不必更改核心文件。
答案 1 :(得分:2)
使用WordPress 3.9.1(截至本文的最新版本)我只是在我的主题functions.php
中添加了一行......
$wp_rewrite->add_permastruct('category_base', '%category%');
然后我打开设置>永久链接并点击保存。这似乎会刷新永久链接缓存并使其正常工作。
答案 2 :(得分:1)
更清洁的解决方案:
add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
return str_replace("/category/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
function remcat_rewrite($wp_rewrite) {
$new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
答案 3 :(得分:0)
https://wordpress.org/plugins/no-category-base-wpml/是一个可解决该问题并适用于当前版本WordPress的插件。