WordPress去掉分类链接的描述文字
日期:
标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
如果所示,鼠标悬停在分类链接上的时候,会出现 "查看**下的所有文章" 的提示,想将其去掉,如何更改呢?具体方法请往下看。
一般我们都是用wp_list_categories()来输出博客的分类列表,有时候这些鼠标悬停文字我们并不喜欢,所以我们可以把它去掉了。方法是去除链接的title属性,可以这么操作:在模板文件中找到输出分类列表的wp_list_categories,一般在header.php或sidebar.php中,然后给wp_list_categories添加一个参数echo=0,让其不直接输出代码,而是输出到变量中保存,然后使用正则表达式去掉title,代码示例如下:
<?php
// 将.......替换成你原来的参数
$variable = wp_list_categories('.......&echo=0');
// 正则替换掉title
echo preg_replace('/title="(.*?)"/','',$variable);
?>
PS:以下方法失效
用文本编辑器打开WordPress安装目录下的 wp-includes\classes.php,查找(1332行):
$link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"';
将其改成:
$link .= '';
以上代码修改只针对WordPress 2.9.2,以下修改针对 WordPress 3.0
wp-includes\classes.php,查找(大概在1346行):
if ( $use_desc_for_title == 0 || empty($category->description) )
$link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"';
else
$link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
将其删除即可!
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-remove-category-title-text.html
来膜拜高手了。
大侠能讲讲怎么去除页面上的描述文字吗?
@手机糖 WordPress安装目录下的 wp-includes\classes.php,查找(1190行):
$output .= $indent . '<li class="' . $css_class . '"><a href="' . get_page_link($page->ID) . '" title="' . esc_attr(apply_filters('the_title', $page->post_title)) . '">' . $link_before . apply_filters('the_title', $page->post_title) . $link_after . '</a>';
改成:
$output .= $indent . '<li class="' . $css_class . '"><a href="' . get_page_link($page->ID) . '">' . $link_before . apply_filters('the_title', $page->post_title) . $link_after . '</a>';
搜索进来滴,正好请教一下。
菜鸟我安装了个多语言界面,结果发现分类目录、标签、存档的链接完全实效,点开后网页上一片空白,其他文章等的链接是正常的。
后来只好删除该插件,问题并没有解决,抓狂ing…
大侠给指点一下吧,谢谢!
@雅岚 找出之前的备份文件,并还原。
感谢,很详细实用的教程。
请问这个方法适用于现在的最新版吗?
成功搞定,暂时没发现什么不良反应,感谢博主分享哦~
3q,正好遇到此问题,用BAIDU一搜,竟然链入到版主这了~
还是露儿哥讲得明白一些,一看就懂了,给大家推荐第一种方法。一劳永逸~
Thanks~!
worepress3.1版要改在category-template.php檔改。
我用第一種方法會在首頁出現所有分類列表,所以我是去php把原本要輸出的文字"'View all posts filed under %s'"刪掉,但是這樣只有對顯示在sidebar的cat有效,如果我的文章也會顯示這是什麼分類,那一樣會出現那行文字…Orz
@yogaga 哈,剛剛發現原來要改的不只一行 XD
把所有『" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '"』都刪了就OK了~!
@yogaga 按照博主的方法没效果,但在你这个代码里却成功删除掉了,哈啊谢谢了
博主你好,这个问题找了半天终于在你这里看到准确答案了……可是还是得请教你一下……
我用comments_popup_link在首页输出了每个日志的评论数量,鼠标悬停在数字上的时候,也会显示“XXXX上的评论”。我希望把这个title去掉,可是找不到地方,如果方便能不能教教我,谢谢OTZ
@kiyoushi 这个得改WordPress源文件,我也不知道在哪个文件中。
不过不支持改源文件,下次更新又得重新改。
我的是3.3.1版本,在wp-includes\里没找到有classes.php
@chanbee 版本不一样了。
3.5版本修改如下
wp-includes/category-template.php
830行左右
原来代码
$link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
自己着改
$link .= 'title="' . esc_attr($cat_name). '"';
$link .= 'title=""';
$link .= '';
哎,看不明白!没解决啊,博主联系我
修改wp-includes/category-template.php文件的代码
if ( $use_desc_for_title == 0 || empty($category->description) )
$link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
else
$link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
$link .= '>';
$link .= $cat_name . '</a>';
改成如下,也就是说直接把两个 $link .= 'title="' . 删了就行了 这样分类不顺眼的title就没了
if ( $use_desc_for_title == 0 || empty($category->description) )
esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
else
esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
$link .= '>';
$link .= $cat_name . '</a>';
貌似已经不行了。
@侯永禄 文章内容已过期
请教下你文章中的那个代码模块式怎么弄的?
@ISEO手册 CodeColorer插件
@Ludou 谢谢了,看你博客感觉你对wordpress很有研究,还有个问题想请教下:我给分类添加了一段描述以后,在边栏分类目录就会显示title属性,把光标移上去有一大段文字,不想这样显示怎么改?或者直接把title属性去掉,如果不好描述的话加我Q:332418191
@ISEO手册 看文中的方法
@Ludou 按照这个方法去不掉,谢谢~
wp4.1版本去除title方法:打开wp-includes/category-template.php文件,找到这段代码'use_desc_for_title' => 1,把它改为'use_desc_for_title' => 0即可。
向博主提一个问题,使用
<?php
if(get_category_children(get_category_root_id(the_category_id(false)))!= "" )
{
echo '<ul class="sp-tab">';
echo wp_list_categories("child_of=".get_category_root_id(the_category_id(false)). "&depth=0&hide_empty=0&target=0&title_li=&orderby=order");
echo '</ul>';
}
?>
来调用子分类时,如何去让它在新窗口打开呢?
@wper 该函数没有此功能,用get_categories,自己写html代码吧