在WordPress开发过程中,重写函数是一个至关重要的技能。通过重写函数,我们可以自定义WordPress的核心功能,优化网站性能,提高用户体验。本文将深入探讨WordPress重写函数的原理、方法和实战技巧,帮助你成为WordPress开发高手。
一、什么是WordPress重写函数?
WordPress重写函数,顾名思义,就是重新编写或修改WordPress的核心函数。这些函数通常负责处理WordPress的核心功能,如生成链接、显示内容、处理查询等。通过重写这些函数,我们可以实现以下目的:
* 自定义链接结构:修改默认的链接结构,使其更符合我们的需求。
* 修改内容显示:自定义文章、页面、分类等的显示方式。
* 优化查询性能:通过重写查询函数,提高网站的响应速度。
* 扩展WordPress功能:通过重写函数,实现一些WordPress本身不具备的功能。
二、WordPress重写函数的原理
WordPress重写函数主要基于WordPress的钩子(Hooks)机制。钩子是WordPress提供的一种机制,允许开发者在不修改核心代码的情况下,扩展或修改WordPress的功能。
在WordPress中,每个函数都有一个或多个钩子与之关联。当函数执行时,会触发相应的钩子,此时开发者可以插入自己的代码,实现自定义功能。
以下是一个简单的例子:
“`php
function my_custom_function() {
echo “
如何去掉WordPress链接中category
WordPress去掉固定链接里的“category”的办法很多,这里介绍三个简单易用的。一是在Wordpress后台固定链接里设置;二是通过修改Wordpress核心函数实现;三是通过酷文博Wordpress插件实现。具体方法:
1、修改固定链接设置,去掉分类链接前缀category
登录Wordpress后台,打开固定链接/永久链接设置项。在“可选设置”里的“分类地址前缀”里输入半角字符:“.”;保存即可去掉分类前缀category。
优点:设置简单,老少皆宜。适用于初建成的博客,或刚打算使用固定链接/永久链接的博客。用不着修改代码,升级之时没有顾虑;用不着插件,不会增加运行负担。
缺点:原链接无法打开,出现404错误。被搜索引擎收录良好,或分类链接有较多外链链入的博客,可要万分小心了。不要因为操作简单、省时省力而损失了大量外链及权重。
开启重写后,这样设置会导致分类和标签下找不到对应文章,所以最好还是只将其缩短。
2、借助Wordpress插件,去掉分类前缀category
(1)WPNoCategoryBase:作者iDope,是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件,被下载近5万次。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。
(2)Nocategoryparents:作者milardovich,上面插件的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类parent-category。例如能把“/category/parent-category/my-category/”换成“/my-category/”形式。
优点:安装简单,老少皆宜。无论是初建成的博客,还是正打算使用固定链接/永久链接的博客,还是被搜索引擎收录良好的博客。用不着修改代码,升级之时没有顾虑。使用301跳转,把原链接进行跳转。最大程度防止搜索引擎降权,防止原链接打不开。
不足:插件或许会造成空间负担。这里不说是缺点,就是因为,造成的“空间负担”微乎其微,不应该是缺点。
3、修改Wordpress函数,去掉分类前缀category
(1)找到你Wordpress博客wp-includes文件夹下的category-template.php。
(2)打开此文件,搜索(get_category_link()函数里)的以下代码:$catlink=$wp_rewrite->get_category_permastruct();
在其后,另起一行加入:$catlink= str_replace('/category','',$catlink);代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category替换掉。达到去掉分类链接前缀/category的目的。
(3)保存上传到服务器即可。
优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的博客。
缺点:修改代码,博客升级还要修改。且原地址仍可以访问。或会造成谷歌网站管理员工具里提到的,重复的标题。
wordpress url如何去掉category,但打不开网页
您好,很高兴为您解答。
1、修改固定链接设置
登录Wordpress后台,打开固定链接/永久链接设置项。在“可选设置”里的“分类地址前缀”里输入半角字符:“.”,保存后即可去掉分类前缀category。
优点:设置简单,老少皆宜。适用于初建成的博客,或刚打算使用固定链接/永久链接的博客。用不着修改代码,升级之时没有顾虑;用不着插件,不会增加运行负担。
缺点:原链接无法打开,出现404错误。被搜索引擎收录良好,或分类链接有较多外链链入的博客,可要万分小心了。不要因为操作简单、省时省力而损失了大量外链及权重。
开启重写后,这样设置会导致分类和标签下找不到对应文章,所以最好还是只将其缩短。
2、借助Wordpress插件
(1)、使用插件“WP No Category Base”插件,在后台插件管理中搜索“WP No Category Base”,然后下载安装。此插件主要是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。
(2)、使用插件“No category parents”插件,在后台插件管理中搜索“No category parents”,然后下载安装。上面插件的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类parent-category。例如能把“/category/parent-category/my-category/”换成“/my-category/”形式。
(3)、使用插件“Top Level Categories”插件。在后台插件管理中搜索“Top Level Categories”,然后下载安装。安装插件后启用Top Level Categories后,就可以让/category/消失掉。
优点:安装简单,老少皆宜。无论是初建成的博客,还是正打算使用固定链接/永久链接的博客,还是被搜索引擎收录良好的博客。用不着修改代码,升级之时没有顾虑。使用301跳转,把原链接进行跳转。最大程度防止搜索引擎降权,防止原链接打不开。
不足:插件或许会造成空间负担。这里不说是缺点,就是因为,造成的“空间负担”微乎其微,不应该是缺点。。
3、修改Wordpress函数
(1)、找到Wordpress博客wp-includes文件夹下的category-template.php。
(2)、打开此文件,搜索(get_category_link()函数里)的以下代码:
1
$catlink=$wp_rewrite->get_category_permastruct();
在其后,另起一行加入:
1
$catlink= str_replace('/category','',$catlink);
代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category/替换掉。达到去掉分类链接前缀/category/的目的。
(3)、保存上传到服务器对应的文件夹内即可。
优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的博客。
缺点:修改代码,博客升级还要修改。且原地址仍可以访问。或会造成谷歌网站管理员工具里提到的,重复的标题。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!








