Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >让知更鸟主题的分类图标支持二级分类

让知更鸟主题的分类图标支持二级分类

作者头像
张戈
发布于 2018-03-26 05:50:22
发布于 2018-03-26 05:50:22
1.2K00
代码可运行
举报
文章被收录于专栏:张戈的专栏张戈的专栏
运行总次数:0
代码可运行

今天,突然想启用知更鸟主题的分类图标功能,之前是怕影响速度,现在开了静态缓存,安心了一点。

参照鸟哥的方法在主题选项里面开启后,发现图片的超链接打不开!检查后发现路径不对,比如玛思阁的 Batch 分类的地址应该是 http://zhangge.net/script/batch,而分类图标链接却是 http://zhangge.net/batch(Ps:本来路径中默认会有个 category 的,玛思阁用插件屏蔽了)。这样出来的链接的目的地就变成 404 了。。。看来,知更鸟主题的分类图标默认不支持 2 级分类呢!如图:

玛思戈只好硬着头皮自己修改,作为一个 PHP 外行,只能一边搜索资料,一边测试效果,折腾了半天才搞定!现在分享出来,希望能帮到比我还菜的使用知更鸟主题的博主(嘿嘿!)。

先记录下 Debug 过程:

按照 Debug 经验,出现问题,先看源码!于是,先打开了文章模板 single.php 看了下调用分类图标的相应代码,发现调用的是主题目录下的 includes/cat_ico.php 文件。进而发现源码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="cat_ico">  
    <a href="<?php bloginfo('url'); ?>/category/<?php $catArray = get_the_category(); 
    $cat=$catArray[array_rand($catArray,1)]; 
    echo $cat->category_nicename;?>" title="<?php echo $cat->cat_name;?>">  
        <img src="<?php bloginfo('template_url');?>/images/caticon/<?php echo $cat->category_nicename; ?>.gif" alt="<?php echo $cat->cat_name;?>"/>  
    </a>  
</div>

由于玛思阁已经用插件屏蔽了分类前缀 category,所以不管三七二十一,先删除第二句中的“category/”(未屏蔽分类前缀路径的博友就不要这样做了!),然后开始想办法让这段代码支持二级分类图标调用。

保存后看了下结果,很容易就看出,这段代码只能获取当前文章的分类,而不能获取父级分类,也就是说,如果你这篇文章是属于二级分类,那么输出的图标链接就会少了一级分类路径,自然就是个死链了!就和本文开篇的举例一样。

看来,只要修改代码,输出父级分类别名不就可以了吗?通过搜索 get_category 函数资料,知道了如何获取父级 ID,然后通过这个父级 ID 再获取父级别名。在测试时发现,多级分类图标链接已经修复了,可是。。。。如果是只有一个分类,即父级菜单为空的情况,得到的链接就会多了一个斜杠:/!,比如 http://zhangge.net//website:就有 2 个斜杠了,虽然可以访问,但是博主有严重的强迫症。。。。好吧,继续折腾。。。

最终,在加入一个 if 判断后完美搞定!不啰唆了,上代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="cat_ico">  
    <a href="<?php bloginfo('url'); ?>/<?php $catArray = get_the_category(); 
    $cat=$catArray[array_rand($catArray,1)]; 
    $cat_parent = get_category($catArray[0]->category_parent); 
    if (!empty($cat_parent->slug)) { 
        echo $cat_parent->slug."/"; 
    } 
    echo $cat->category_nicename;?>" title="<?php echo $cat->cat_name;?>">  
        <img src="<?php bloginfo('template_url');?>/images/caticon/<?php echo $cat->category_nicename; ?>.gif" alt="<?php echo $cat->cat_name;?>"/>  
    </a>  
</div>

最后总结一下,让知更鸟主题的分类图标支持多级分类的修改方法是:

编辑主题目录下的 includes/cat_ico.php 文件,替换成上方的全部代码,保存即可!好了,玛思阁又折腾了一把!

特别说明:以上方法仅适合最多二级分类,要是存在三级分类,请自己参考代码依葫芦画瓢再加上一层路径输出即可!俺就懒得写了~应该很少人蛋疼菊紧的弄个三级分类吧?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年04月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用Meta申明来做百度、谷歌、雅虎、微软等搜索的开放适配
前段时间分享过利用 Meta 申明来做百度开放适配,前几天在解决 sitemap 报错问题时,看到了谷歌、雅虎及微软等搜索引擎开放适配方法,感觉有点意思,就折腾了下代码,现在来分享下。虽然她被墙了,但是我们应该怀着一颗乐观向上的心,随时迎接谷姐归来。。。 一、谷歌开放适配规则 对应 URL 举例: pc:http://zhangge.net/ 移动:http://m.zhangge.net meta 申明方法: a)pc 页面添加 meta: <link href=http://m.zhangge.net"
张戈
2018/03/26
1.3K0
利用Meta申明来做百度、谷歌、雅虎、微软等搜索的开放适配
移动搜索SEO分享:利用Meta声明来做百度开放适配
 前天,张戈博客终于搞定了网站静态缓存下的移动端站点切换,从而也多了一个移动二级域名。于是又开始纠结这个 2 二级域名是否需要屏蔽搜索引擎的收录,毕竟内容一摸一样。 听 SEOer 们说,搜索引擎会将二级域名视为不同的 2 个站点,如此一来,我的移动站点是否要做相应的处理,就值得深思了。(如有清楚的站长,请告知,多谢~) 然而,就在今天百度搜索相关资料的时候,发现百度开放适配居然有三种方法...... 之前只注意到了百度开放适配的 sitemap 提交方法,张戈前后折腾了如下几篇文章: 1、百度开放适配专用
张戈
2018/03/26
1.6K0
移动搜索SEO分享:利用Meta声明来做百度开放适配
WordPress去除分类目录“category”路径的三种方法
不少折腾 WordPress 的朋友都希望去掉分类链接中默认就添加的 /category/ 目录标志,网上很多这方面的教程,据子凡目前所知,应该有三种方法可以去除分类 category 标志,这里子凡依然把所有的方法列举出来,但是子凡还是比较推荐使用以下推荐的代码或插件来实现效果,其它方法虽然可以达到效果,但都是不太完美的。泪雪建站和泪雪博客等网站目前也都是选择去掉了/category/目录,使用的正是方法二和方法三。
聚优云惠
2020/02/18
3.6K0
启用WP Super Cache纯代码版本之后的一些优化措施
张戈博客在上个月 28 号启用了 WP Super Cache 代码版,几天下来,虽然小问题不断,但是总体感觉非常不错!不管是前台还是后台,速度都有质的提升,着实值得会折腾的人使用。 感兴趣的可以先看下 28 号的具体教程:《WP Super Cache 静态缓存插件纯代码版(兼容多域名网站)》. 下面,简单的说一下启用此功能后遇到的一些问题的解决办法或细项优化。 ①、发表评论时并未删除缓存,导致无法显示最新评论; ②、若主题有登陆状态显示,那缓存之后,无论谁打开都显示已登录; ③、WordPress
张戈
2018/03/23
1.4K0
启用WP Super Cache纯代码版本之后的一些优化措施
分享几个WordPress本地缓存gravatar评论头像的方案
由于 GFW 的关系,使用 gravatar 的博客评论头像经常会出现“图裂特效”,这肯定是很多站长小伙伴都遇到过的困扰。网络上也很多教程,通过更换 avatar 的来源,来解决图裂的问题。确实可以解
张戈
2018/03/23
1.3K0
分享几个WordPress本地缓存gravatar评论头像的方案
怎么调用WordPress父子分类目录?
怎么调用WordPress父子分类目录?在WordPress当前分类或者正文页面,想调用显示与当前分类存在父子关系的分类目录时,会用到。如:一个分类页面,想显示出自己的上级分类。
主机教程网2bcd.com
2022/11/28
4820
怎么调用WordPress父子分类目录?
WordPress发布文章自动同步到新浪微博(带特色图片)
整体来源于张戈博客,本处仅是修改添加了一处显示文章分类的小功能,若是一篇文章有多个分类,默认使用第一个。经测试好像对于七牛中设置了空间防盗链的不太友好,可能会报2007错误。
WindCoder
2018/09/19
2.8K1
WordPress发布文章自动同步到新浪微博(带特色图片)
移动搜索SEO分享:PHP自动生成百度开放适配及360移动适配专用的Sitemap文件
导读 随着智能手机的高速普及,人们将更多时间放到了手机上,麻利的做着以前只能在电脑上才能完成的购物、聊天、信息获取等事情。如此一来,站长们对移动端的 SEO 也就越来越关注。当然,也各大搜索引擎也开始发力移动搜索,比如百度近期推出的2014 网站移动化大赛和开放适配、360 推出的移动适配等。而张戈对于移动适配也是关注已久,写过不少相关文章,现在就来分享一个通过 php 自动生成百度开放适配和 360 移动适配的专用 sitemap 文件的方法。 先再次回顾下,张戈关于百度开放适配和 360 移动适配的历次
张戈
2018/03/26
1.6K0
移动搜索SEO分享:PHP自动生成百度开放适配及360移动适配专用的Sitemap文件
张戈博客成功启用移动端主题:Mobile Pack
建站以来,总是忙于 PC 端主题的折腾,移动端主题只是偷懒的使用了 WPtouch 插件。现在 PC 端主题已完善七七八八了,是时候折腾下移动端自适应主题了,毕竟 WPtouch 设计得太复杂,感觉稍
张戈
2018/03/26
1K0
张戈博客成功启用移动端主题:Mobile Pack
替换WordPress默认搜索为百度站内搜索(知更鸟主题可照搬)
今天,中国博客联盟 QQ 群里的【58 说】博友提到百度站长平台推出绿色收录通道了。连忙登陆站长平台看了下,意外的发现张戈博客已开通了站内搜索功能。之前确实给管理员发邮件申请过,不过一直没有邮件回复,
张戈
2018/03/23
2.7K0
WordPress纯代码高仿 无觅相关文章 图文模式功能
无觅的相关文章插件确实是一个不错的插件,Jeff的阳台到现在还在使用它(貌似产生了依赖性)。但到了devework.com,为了体现轻度、代码化的主题制作理念。所以在网络上找了些资料,结合自己不怎么样的技术,折腾出了个高仿无觅相关文章图文模式功能。具体效果见文章下方的“亲,意犹未尽?来看更多:”部分,是不是感觉还挺像呢?下面就分享一下折腾的成果。 首先说明,本方法实现的相关文章原理是通过获取该文章分类,找到同一分类的文章,这些文章即为“相关文章”。而图片的话,采用的是timthumb 截图(好处是节约空间,
Jeff
2018/01/19
7310
WordPress纯代码高仿 无觅相关文章 图文模式功能
WordPress || WordPress 获取当前分类 ID 的几种方法
下面介绍的几种方法目的都是一样的,但是使用的环境和状况均不同,请大家仔细分辨以及寻找适合自己的方法来进行使用。
w候人兮猗
2020/07/01
2.6K0
DIY网站统计:WordPress排除管理员评论及精准友链数的方法
今天关注了一下网站统计,发现留言 1600+,想想肯定是把我自己的留言也算进去了,感觉太水了,不真实!另外友链数目也不对,明显是把所有链接都加进去了! 于是研究了一下统计代码,在排除自己的评论、以及友
张戈
2018/03/23
6660
DIY网站统计:WordPress排除管理员评论及精准友链数的方法
yii2中怎么输出二级菜单,根据我自己的样式建立的二级菜单
sql: CREATE TABLE `category` ( `id` int(50) NOT NULL, `name` varchar(50) COLLATE utf8_vietnamese_ci NOT NULL COMMENT '分类名称', `pid` int(11) NOT NULL DEFAULT '0' COMMENT '父级分类id', `url` varchar(50) COLLATE utf8_vietnamese_ci NOT NULL COMMENT '访问地址',
贵哥的编程之路
2022/03/25
7320
yii2中怎么输出二级菜单,根据我自己的样式建立的二级菜单
WordPress主题制作(四):制作头部模板header.php
当我们用文本编辑器打开从WordPress主题制作:开始前的准备下载的Yii-Candy中的 .php 文件,不难看出他们头部的代码都非常的相似!我们可以提取这部分相似的代码,放到一个单独的文件header.php中,各个页面想用这部分代码的时候再用WordPress的get_header()包含进去就可以达到所有页面头部内容一致,不再需要给每个页面都写一次这部分代码了,我们后期维护起来也至需要修改header.php即可。
Yiiven
2022/12/15
1.6K0
WordPress巧用面包屑导航,SEO优化。
什么是网站面包屑导航?面包屑导航意在告知用户所处的当前网页的位置,方便用户可以通过该导航快速返回上一级网页。 面包屑导航一般都在导航的下面,形式一般为 首页 > 一级目录名称 > 二级目录名称 > 目前位置,尽量要把面包屑导航的层次控制在四层以内,这样也有利与搜索引擎蜘蛛一层层往下爬,到了四层以下就很难爬到了。
Kit
2021/08/02
9520
WordPress巧用面包屑导航,SEO优化。
WP Super Cache静态缓存插件纯代码版(兼容多域名网站)
中午,小熊发来一篇来自歧路亡羊博客的精彩教程:《wordpress 利用代码来实现缓存》。粗略看了一下,发现这个代码在几个月之前我就用过,不过由于此代码无法区分多个域名,从而会导致移动站无法跳转的情况。 我利用午休的时间,仔细看了下这篇文章,发现博主在原代码的基础上,还加上了自动刷新缓存的机制,不过貌似是和 WP Super Cache 插件一样,只要更新文章,就会清除所有缓存,感觉不太适合我。 不过,这篇文章还是激发了我兴趣。折腾了几个月,我现在也能基本看得懂 PHP 了,所以决定把这个代码修改一下,让它
张戈
2018/03/23
2.2K0
WP Super Cache静态缓存插件纯代码版(兼容多域名网站)
wordpress中提取文章内第一张图片作为缩略图
作者:matrix 被围观: 1,059 次 发布时间:2013-09-04 分类:Wordpress 兼容并蓄 | 无评论 »
HHTjim 部落格
2022/09/26
4690
wordpress中提取文章内第一张图片作为缩略图
分享WordPress各种标签大全集合 以及如何调用
wordpress程序日渐成熟,开发者越来越多,各种模版层出不穷,但是想要做一个好的wordpress模版,前提不只是要掌握HTML5前端技术,还必须了解wordpress的各种标签如何调用才可以。今天全百科网就把整理的WordPress各种标签以及是如何调用分享给大家。
于飞云计算
2019/07/22
3.4K0
分享WordPress各种标签大全集合 以及如何调用
分享一个WordPress外链跳转教程,兼容知更鸟暗箱下载和文章索引
张戈博客很久很久之前转载过一篇关于博客外链跳转的方法(相关文章),后来安装了 Anylink 插件也就没有用到。近来清点插件时,我将 Anylnk 给淘汰了,换成了网上找到的给外链添加 nofollow 的代码。 一、原版代码 //给外部链接加上跳转,将此代码添加到wordpress主题目录的functions.php里面即可 add_filter('the_content','the_content_nofollow',999); function the_content_nofollow($conten
张戈
2018/03/23
1.3K0
分享一个WordPress外链跳转教程,兼容知更鸟暗箱下载和文章索引
推荐阅读
相关推荐
利用Meta申明来做百度、谷歌、雅虎、微软等搜索的开放适配
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验