好的有一个问题做了一些研究,并让它工作,所以我可以把我的李的跨度工作得很好,但在跨度我有一个数据悬停标签,在里面我想要把标题页面,但无法弄清楚如何。
同时它显示所有页面,当我只想显示我之前做过的父级的孩子时,但是当将echo $ pages更改为echo $ children时它会工作并显示所有孩子,但随后删除了我的跨度信息
任何人都可以帮助继承代码......
{ 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 class="cl-effect-2" id="cl-effect-2">
<?php
$pages = wp_list_pages('echo=0&title_li=');
$pages = str_replace('">', '"><span data-hover="PAGETITLEHERE">', $pages);
$pages = str_replace('<span data-hover="PAGETITLEHERE"><a', '<a', $pages);
$pages = str_replace('</a>', '</span></a>', $pages);
echo $pages;
?>
</ul>
<?php } ?> }
答案 0 :(得分:0)
您将$pages
变量替换为str_replace
,请尝试使用$children
变量。
{ 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 class="cl-effect-2" id="cl-effect-2">
<?php
$pages = wp_list_pages('echo=0&title_li=');
$children = str_replace('">', '"><span data-hover="PAGETITLEHERE">', $pages);
$children = str_replace('<span data-hover="PAGETITLEHERE"><a', '<a', $pages);
$children = str_replace('</a>', '</span></a>', $pages);
echo $children;
?>
</ul>
<?php } ?> }
答案 1 :(得分:0)
我有一个答案
在funktion.php中我挂了
add_filter( 'wp_list_pages', 'wp_list_pages_hook', 11, 2 );
function wp_list_pages_hook( $output, $r ){
if( ! is_front_page() ){
$output = preg_replace('~<a([^>]+)>(.*?)</a>~', '<a $1 > <span data-hover="$2">$2</span></a>', $output);
}
return $output;
}
现在我可以在header.php中使用简单的
<?php wp_list_pages('exclude=41&title_li='); ?>