WordPress去掉分类链接的描述文字

日期: 标签:WordPress教程 29 条留言
如需帮忙改代码,或者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
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

29 条留言

点此留言
  1. 手机糖

    来膜拜高手了。

  2. 手机糖

    大侠能讲讲怎么去除页面上的描述文字吗?

    • Ludou

      @手机糖 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>';

  3. 雅岚

    搜索进来滴,正好请教一下。
    菜鸟我安装了个多语言界面,结果发现分类目录、标签、存档的链接完全实效,点开后网页上一片空白,其他文章等的链接是正常的。
    后来只好删除该插件,问题并没有解决,抓狂ing…
    大侠给指点一下吧,谢谢!

    • Ludou

      @雅岚 找出之前的备份文件,并还原。

  4. 皱纹88

    感谢,很详细实用的教程。

  5. 赵福安

    请问这个方法适用于现在的最新版吗?

  6. 赵福安

    成功搞定,暂时没发现什么不良反应,感谢博主分享哦~

  7. 武汉交通事故律师

    3q,正好遇到此问题,用BAIDU一搜,竟然链入到版主这了~

  8. 手机糖tang

    还是露儿哥讲得明白一些,一看就懂了,给大家推荐第一种方法。一劳永逸~

  9. yogaga

    Thanks~!
    worepress3.1版要改在category-template.php檔改。
    我用第一種方法會在首頁出現所有分類列表,所以我是去php把原本要輸出的文字"'View all posts filed under %s'"刪掉,但是這樣只有對顯示在sidebar的cat有效,如果我的文章也會顯示這是什麼分類,那一樣會出現那行文字…Orz

    • yogaga

      @yogaga 哈,剛剛發現原來要改的不只一行 XD
      把所有『" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '"』都刪了就OK了~!

      • 龙龙

        @yogaga 按照博主的方法没效果,但在你这个代码里却成功删除掉了,哈啊谢谢了

  10. kiyoushi

    博主你好,这个问题找了半天终于在你这里看到准确答案了……可是还是得请教你一下……

    我用comments_popup_link在首页输出了每个日志的评论数量,鼠标悬停在数字上的时候,也会显示“XXXX上的评论”。我希望把这个title去掉,可是找不到地方,如果方便能不能教教我,谢谢OTZ

    • Ludou

      @kiyoushi 这个得改WordPress源文件,我也不知道在哪个文件中。
      不过不支持改源文件,下次更新又得重新改。

  11. chanbee

    我的是3.3.1版本,在wp-includes\里没找到有classes.php

  12. tanidea

    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 .= '';

  13. seo

    哎,看不明白!没解决啊,博主联系我

  14. 行客工作室

    修改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>';

  15. 侯永禄

    貌似已经不行了。

  16. ISEO手册

    请教下你文章中的那个代码模块式怎么弄的?

    • Ludou

      @ISEO手册 CodeColorer插件

      • ISEO手册

        @Ludou 谢谢了,看你博客感觉你对wordpress很有研究,还有个问题想请教下:我给分类添加了一段描述以后,在边栏分类目录就会显示title属性,把光标移上去有一大段文字,不想这样显示怎么改?或者直接把title属性去掉,如果不好描述的话加我Q:332418191

  17. wper

    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代码吧

发表留言