在使用wp_list_page
Google 很多,甚至尝试过探索 Stackoverflow
找到this(似乎仍无法使用wp_list_page
作为使用jquery的人)
<!-- navigation Menu -->
<div class="navigation_menu">
<div id="nav">
<ul id="navmenu">
<?php wp_list_pages('title_li='); ?>
</ul>
</div>
</div>
screen shot由于信誉不足,无法添加图片(抱歉)
发现此site无论如何都没有帮助
任何建议/帮助将不胜感激
由于
答案 0 :(得分:0)
在这里回答https://stackoverflow.com/a/23330336/3111930你需要自定义wp_list_pages函数调用使用的名为Walker_Page的类。
对于第一个<ul>
元素,您需要像Nathan Dawson所写的那样自定义它。
要自定义<li>
- 元素(通常是当前显示的页面的子元素),您需要自定义function start_el
,例如:
public function start_el( &$output, $page, $depth = 0, $args = array(), $current_page = 0 ) {
if ( $depth ) { // code indent
$indent = str_repeat( "\t", $depth );
} else {
$indent = '';
}
if ( '' === $page->post_title ) { // DisplayName
$page->post_title = sprintf( __( '#%d (no title)' ), $page->ID );
}
$args['link_before'] = empty( $args['link_before'] ) ? '' : $args['link_before'];
$args['link_after'] = empty( $args['link_after'] ) ? '' : $args['link_after'];
/** This filter is documented in wp-includes/post-template.php */
$output .= $indent . sprintf(
'<li class="%s"><a href="%s">%s%s%s</a>',
'btn btn-default btn-block', // Using Bootstrap Button Layout
get_permalink( $page->ID ), // href
$args['link_before'], // Link Prefix
apply_filters( 'the_title', $page->post_title, $page->ID ), // Link Text
$args['link_after'] // Link Postfix
);
}
在此示例中,css类btn btn-default btn-block
被添加到每个<li>
- items class-attribute中,因此它们显示为bootstrap样式的按钮。
查看wp-includes \ post-template.php以查看原始的start_el函数。在我的例子中,不包括css类调平。
但是您只需要插入if ($depth == 0)
并使用属性自定义li,if ($depth == 1)
以其他方式自定义它。
我的意思是在你知道的情况下自定义sprintf-output?
答案 1 :(得分:0)
这是帮助我的......其他方法都没有工作......
<?php
global $wpdb;
$men = $wpdb->get_results("SELECT ID,post_parent,post_title,guid FROM `wp_posts` where post_type='page' and post_parent='0' and post_status='publish'");
$i=1;
foreach($men as $menu){
if($menu->post_parent=="0"){
$post_prnt = '';
'<li data-match="'.$i.'" class="" id="main_2_rptLevelOneNav_footeritem_'.$i.'">';
'<a id="main_2_rptLevelOneNav_hypLevelTwoTitle_'.$i.'" href="'.$menu->guid.'">'.$menu->post_title.'</a>';
'</li>';
$post_prnt = $wpdb->get_results("select ID,post_title,guid,post_parent FROM `wp_posts` where post_parent='".$menu->ID."' and post_status='publish' and post_type='page'");
$arr = '';
if(count($post_prnt>0))
{
$u=0;
foreach ($post_prnt as $p_prnt){
$arr[] = array($i,$p_prnt->post_title,$p_prnt->guid);
$u++;
}
$arrr[] = array($arr);
}
$i++;
}
}
if(count($arrr)>0)
{
foreach($arrr as $key=>$val)
{
if(count($val)>0)
{
foreach($val as $key1=>$val1)
{
if(count($val1)>0)
{
if($val1[0][0]!='')
{
echo '<li data-match="'.$val1[0][0].'" class="level-one" style="display: none; left: 335.15px; top: 111px; position: absolute;"><ul>';
$k=0;
foreach($val1 as $key2=>$val2)
{
echo '<li class="level-two">
<a href="'.$val2[2].'" id="main_0_ctl01_rptLevelOneSubNav_rptLevelTwoSubNav_'.$val1[0][0].'_hypLevelTwoTitle_'.$k.'">'.$val2[1].'</a>
</li>';
$k++;
}
echo '</ul></li>';
}
}
}
}
//foreach($val )
}
}
?>