wordpress wp_list_categories

时间:2011-01-29 作者:Matt Ryan

我正在使用wp\\u list\\u类别,如下所示:

<?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>
这很有效。其输出如下:

   <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>
问题是我不想要一条绝对路径,只想要一条相对路径。。。

我需要href阅读为/news_cat/cat-1

提前谢谢。

1 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

你好@matt ryan:

做你想做的事最简单的方法就是PHP output buffering. 我还没有测试,但这应该可以:

ob_start();
wp_list_categories( $args );
$html = ob_get_clean();
echo str_replace(get_bloginfo(\'wpurl\'),\'\',$html);
更新也可以使用\'wp_list_categories\' 像这样钩住:

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

结束