wordpress wp_list_categories

i’m using wp_list_categories like so:

<?php 
            //list terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin)

            $taxonomy     = 'news_cat';
            $orderby      = 'name'; 
            $show_count   = 0;      // 1 for yes, 0 for no
            $pad_counts   = 0;      // 1 for yes, 0 for no
            $hierarchical = 1;      // 1 for yes, 0 for no
            $title        = '';

            $args = array(
              'taxonomy'     => $taxonomy,
              'orderby'      => $orderby,
              'show_count'   => $show_count,
              'pad_counts'   => $pad_counts,
              'hierarchical' => $hierarchical,
              'title_li'     => $title
            );
            ?>

            <ul class="categories fl">
            <?php wp_list_categories( $args ); ?>
            </ul>

which works great. it outputs as follows:

Read More
   <ul class="categories fl">
  <li class="cat-item cat-item-5">
    <a href="http://hhh.wp/news_cat/cat-1" title="View all posts filed under cat 1">cat 1</a>
  </li>
  <li class="cat-item cat-item-6">
    <a href="http://hhh.wp/news_cat/cat-2" title="View all posts filed under cat 2">cat 2</a>
  </li>
  <li class="cat-item cat-item-7">
    <a href="http://hhh.wp/news_cat/cat-3" title="View all posts filed under cat 3">cat 3</a>
  </li>
  <li class="cat-item cat-item-8">
    <a href="http://hhh.wp/news_cat/cat-4" title="View all posts filed under cat 4">cat 4</a>
  </li>
</ul>

problem is i don’t want an absolute path, just a relative one…

i need the href to read as /news_cat/cat-1

thanks in advance.

Related posts

Leave a Reply

1 comment

  1. Hi @matt ryan:

    Simplest way to do what you want is to use PHP output buffering. I haven’t tested it yet but this should work:

    ob_start();
    wp_list_categories( $args );
    $html = ob_get_clean();
    echo str_replace(get_bloginfo('wpurl'),'',$html);
    

    UPDATE

    You could also using the 'wp_list_categories' hook like this:

    add_action('wp_list_categories','mysite_wp_list_categories');
    function mysite_wp_list_categories( $output ) {
      return str_replace( get_bloginfo('wpurl'),'', $output );
    }