web-dev-qa-db-fra.com

wordpress wp_list_categories

j'utilise wp_list_categories comme ceci:

<?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>

qui fonctionne très bien. il sort comme suit:

   <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>

le problème est que je ne veux pas un chemin absolu, juste un chemin relatif ...

j'ai besoin du href pour lire en tant que /news_cat/cat-1

merci d'avance.

1
Matt Ryan

Bonjour @ matt ryan:

Le moyen le plus simple de faire ce que vous voulez est d'utiliser la mise en mémoire tampon de la sortie PHP . Je ne l'ai pas encore testé mais cela devrait marcher:

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

METTRE À JOUR

Vous pouvez aussi utiliser le hook 'wp_list_categories' comme ceci:

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