2

我有这个代码:

if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul id="siderbar_menuchild">
<?php echo $children; ?>
</ul>
<?php } ?>

结果是:

<ul>
<li><a href="page_link">page_name</a></li>
<li><a href="page_link">page_name</a></li>
etc...
</ul>

现在这就是我要显示的内容:

$text1="text1"
$text2="text2"
$text3="text3"
etc...

<ul>
<li><a href="page_link">page_name<span>text1</span></a></li>
<li><a href="page_link">page_name<span>text2</span></a></li>
etc...
</ul>

任何帮助表示赞赏。谢谢。

LE:好的,我写了以下行:

$children = str_replace('</a>', '<span></span></a>', $children);

现在标签位置很好。

但我仍然必须找到一种方法如何将不同的文本放入每个跨度。

LE2:我使用jquery插入文本,没有找到任何PHP方法,我使用了以下行:

<script type="text/javascript">
$(".page-item-53 span").text("Your text here Your text here Your text here");
</script>

所以我解决了我的问题,但如果你有任何其他更好的方法,你可以在这里发布你的解决方案。

4

1 回答 1

0

使用link_after属性 forwp_list_pages()来实现这一点。

if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0&link_after=<span>text </span>");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&link_after=<span>text </span>");
if ($children) { 
?>
<ul id="siderbar_menuchild">
<?php echo $children; ?>
</ul>
<?php } ?>

对于数字,我使用 csscounter-increment

<style>
body {
  counter-reset: section;           /* Set the section counter to 0 */
}
#siderbar_menuchild  li.page_item 
{
  counter-increment: section;
} 
#siderbar_menuchild li.page_item span:after { 
  content: counter(section); 
}
</style>

参考:

http://codex.wordpress.org/Function_Reference/wp_list_pages

https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Counters

于 2013-10-17T02:16:15.703 回答