• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > WordPress分类目录URL优化 去掉链接中的category教程

WordPress分类目录URL优化 去掉链接中的category教程

作者:小兽 字体:[增加 减小] 来源:互联网 时间:2018-11-02

小兽向大家介绍了WordPress分类目录URL优化 去掉链接中的category教程等相关知识,希望对您有所帮助

WordPress是一个功能非常强大的博客系统,插件众多并且易于扩充,安装和使用都非常方便,目前WordPress已经成为主流的博客搭建平台。在使用WordPress搭建的网站时,可能会发现文章的URL地址中默认都会带有Category,URL中带有Category可能既影响用户体验,又不利于SEO地址规范化,因此下面和大家说说去除URL中Category的方法。

wordpress设置伪静态(即后台——设置——固定链接,非默认)后,分类目录的URL结构会变成http://域名/category/目录别名。

WordPress分类目录URL优化 去掉链接中的category教程(含代码)

将下面的代码复制粘贴到你的functions.php文件中

[php]

// register_deactivation_hook(__FILE__, ‘no_category_base_deactivate’);
// function no_category_base_deactivate() {
// remove_filter(‘category_rewrite_rules’, ‘no_category_base_rewrite_rules’);
// // We don’t want to insert our custom rules again
// no_category_base_refresh_rules();
// }
// Remove category base
add_action(‘init’, ‘no_category_base_permastruct’);
function no_category_base_permastruct() {
global $wp_rewrite, $wp_version;
if (version_compare($wp_version, ‘3.4’, ‘<‘)) {
// For pre-3.4 support
$wp_rewrite -> extra_permastructs[‘category’][0] = ‘%category%’;
} else {
$wp_rewrite -> extra_permastructs[‘category’][‘struct’] = ‘%category%’;
}
}
// Add our custom category rewrite rules
add_filter(‘category_rewrite_rules’, ‘no_category_base_rewrite_rules’);
function no_category_base_rewrite_rules($category_rewrite) {
//var_dump($category_rewrite); // For Debugging
$category_rewrite = array();
$categories = get_categories(array(‘hide_empty’ => false));
foreach ($categories as $category) {
$category_nicename = $category -> slug;
if ($category -> parent == $category -> cat_ID)// recursive recursion
$category -> parent = 0;
elseif ($category -> parent != 0)
$category_nicename = get_category_parents($category -> parent, false, ‘/’, true) . $category_nicename;
$category_rewrite[‘(‘ . $category_nicename . ‘)/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$’] = ‘index.php?category_name=$matches[1]&feed=$matches[2]’;
$category_rewrite[‘(‘ . $category_nicename . ‘)/page/?([0-9]{1,})/?$’] = ‘index.php?category_name=$matches[1]&paged=$matches[2]’;
$category_rewrite[‘(‘ . $category_nicename . ‘)/?$’] = ‘index.php?category_name=$matches[1]’;
}
// Redirect support from Old Category Base
global $wp_rewrite;
$old_category_base = get_option(‘category_base’) ? get_option(‘category_base’) : ‘category’;
$old_category_base = trim($old_category_base, ‘/’);
$category_rewrite[$old_category_base . ‘/(.*)$’] = ‘index.php?category_redirect=$matches[1]’;

//var_dump($category_rewrite); // For Debugging
return $category_rewrite;
}

// Add ‘category_redirect’ query variable
add_filter(‘query_vars’, ‘no_category_base_query_vars’);
function no_category_base_query_vars($public_query_vars) {
$public_query_vars[] = ‘category_redirect’;
return $public_query_vars;
}

// Redirect if ‘category_redirect’ is set
add_filter(‘request’, ‘no_category_base_request’);
function no_category_base_request($query_vars) {
//print_r($query_vars); // For Debugging
if (isset($query_vars[‘category_redirect’])) {
$catlink = trailingslashit(get_option(‘home’)) . user_trailingslashit($query_vars[‘category_redirect’], ‘category’);
status_header(301);
header("Location: $catlink");
exit();
}
return $query_vars;
}
?>

[/php]

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-02按评论数量显示前100名评论者
  • 2018-11-02wordpress安装百度统计&谷歌统计
  • 2018-11-02WordPress主题开发之添加第三方统计代码
  • 2017-05-13WordPress自带thumbnail缩略图功能使用介绍
  • 2017-05-13wordpress自定义摘要截取字数的代码
  • 2017-05-13WordPress中非插件实现嵌套回复效果的方法
  • 2017-05-13wordpress在postname中支持大写字母的方法
  • 2018-11-02如何保护WordPress免受恶意URL请求
  • 2017-05-13在wordpress文章末尾添加内容的简单方法
  • 2017-05-13wordpress编辑器中添加链接功能自动加入nofollow的方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • WordPress主题中移除多余的评论字段
    • WordPress网站mysql数据库导入错误的解决方法
    • WordPress主题必备的两个基础seo插件
    • Wordpress页面静态化与静态文件不生成的解决方法
    • WordPress搜索结果按浏览量排序的实现方法
    • WordPress导航菜单函数wp_nav_menu()详解
    • WordPress使用中文用户名的方法
    • WordPress常用前台后台插件推荐
    • 限制wordpress 只搜索某个分类下的文章
    • 三个用WordPress制作企业网站的理由

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有