如何给wp_list_ages菜单链接指定的类名?

时间:2014-01-23 作者:Derek

我希望我的wp\\u list\\u页面使用span类。我想给它一个独特的类,这样我可以给每个特定的图标。

\'link_before\' => \'<span class="\'.[unique-identifier-here].\'"></span>\',
我正在考虑使用页面slug,但我使用的菜单也包含子页面,因此它必须拉目标链接页面slug,而不是$post->post_name

我不确定这是一个需要更好逻辑的好选择,还是有更好的解决方案。

以下是我的完整菜单代码:

global $post;

if ( is_page() && wap8_has_children( $post->ID ) == \'1\' || wap8_has_siblings() == \'1\' ) {

 if ( $post->post_parent ) {

      $args = array(
           \'sort_column\' => \'menu_order\',
           \'title_li\'    => \'\',
           \'child_of\'    => $post->post_parent,
           \'echo\'        => 1,
       \'link_before\' => \'<span class="\'.$post->post_name.\'"></span>\',
      );

 } else {

      $args = array(
           \'sort_column\' => \'menu_order\',
           \'title_li\'    => \'\',
           \'child_of\'    => $post->ID,
           \'echo\'        => 1,
    \'link_before\' => \'<span class="\'.$post->post_name.\'"></span>\',
      );

 }

 echo "<ul>\\n";
     wp_list_pages( $args );
 echo "</ul>\\n";

}
-编辑-我希望输出是什么样子。

<ul>
<li>
<a>
<span class="unique_class1"></span>
</a>
<li>
<li>
<a>
<span class="unique_class2"></span>
</a>
<li>
<li>
<a>
<span class="unique_class3"></span>
</a>
<li>
</ul>

2 个回复
SO网友:tfrommen

不需要额外的标记。菜单项具有唯一的CSS类page-item-{ID}, 你可以用它。

首先,给你的列表一个ID,比如<ul id="my-list"> .

然后,以项目为目标,例如:

#my-list .page-item-123 a {
    padding-left: 20px;
    background-image: url(...);
    ...
}

#my-list .page-item-123 a:before {
    content: \'\\123\';
    font-family: SomeIconFont;
    ...
}

SO网友:danielmrey

为了避免调试时出错,此函数的声明必须定义如下参数:

function start_el(&$output, $page, $depth = 0, $args = array(), $current_page = 0)

结束

相关推荐

How to add taxonomy in menus?

书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。