Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing title from wp_list_categories()

I'm trying to remove/replace the title attribute on the category elements used by WordPress. I'm using WordPress 2.9.1, with the following code:

<div id="categories">
    <h3>Manufacturers</h3>
        <ul>
            <?php str_replace("title=\"View all posts filed under ","",wp_list_categories('use_desc_for_title=0&exclude=1,2,3,4,5&title_li=&hierarchical=1')); ?>
        </ul>
</div>

From what I had read this method used to work on older versions (I had never tried it though). I really don't want to hack at the interals of WordPress, or have to use a JavaScript hack, for something so straight forward. Any help is appreciated...

Update below is what is created from the code above...

<div id="categories">
<h3>Manufacturers</h3>
<ul>
<li class="cat-item cat-item-7"><a href="http://localhost/crosstrainers/?cat=7" title="View all posts filed under Featured">Featured</a>
</li>
</ul>
</div>
like image 959
Alex Avatar asked Mar 08 '10 22:03

Alex


2 Answers

If you don't want to use the plugin, stripping the code from the Remove Title Attributes plugin you can see the main function used in order to remove the titles from the categories..

open your template/function.php file and insert the following...

function wp_list_categories_remove_title_attributes($output) {
    $output = preg_replace('` title="(.+)"`', '', $output);
    return $output;
}
add_filter('wp_list_categories', 'wp_list_categories_remove_title_attributes');

this will add a new filter replacing the out of the wp_list_categories function used by wordpress and replace it with the function above..

in your code example

<div id="categories">
  <h3>Manufacturers</h3>
    <ul>
      <?php wp_list_categories(); ?>
    </ul>
</div>

Would output as

 <div id="categories">
      <h3>Manufacturers</h3>
        <ul>
          <li class="cat-item cat-item-7"><a href="http://localhost/crosstrainers/?cat=7">Featured</a></li>
        </ul>
    </div>

Were the title="", has been stripped out completely.. :)

credits to: Tim Holt & his plugin

like image 106
Marty Avatar answered Sep 20 '22 13:09

Marty


This is a bit of a late answer on an old post but there's a much more simple way which doesn't require plugins or adding to functions.php:

<?php wp_list_categories('title_li='); ?>

or, if using with other customisations to the output:

<?php $args = array (
    'title_li'           => __( '' ),
    'hide_empty'         => 0,
    'show_count'         => 1,
    'use_desc_for_title' => 0,
    'child_of'           => 1
);
wp_list_categories( $args ); ?>
like image 43
Mr Jonny Wood Avatar answered Sep 22 '22 13:09

Mr Jonny Wood