我在我的智慧结束,明天必须完成这个,所以我会真的感谢任何有关调整此页面步行者课程的帮助。 (请!)
最终目标是以这种格式显示列表:
Animals //not shown
+ Cats
- Dogs
- Bulldogs
- Boxers
- Poodles
+ Horses
+ Sheep
在猫,狗,马,羊页,(动物)以及斗牛犬,拳击手,贵宾犬不应该展示。
但是,在Dogs页面上,除了Cats,Horses and Sheep页面之外,还应该显示Bulldogs,Boxers,Poodles。
我在最终输出中需要以下标记:
<ul class="list">
<li class="list__items"><a href="#link">Cats</li>
<li class="list__items"><a href="#link">Dogs</a>
<ul class="sub-tier__list">
<li class="sub-tier__group"><a href="#link">Bulldogs</a></li>
<li class="sub-tier__group"><a href="#link">Boxers</a></li>
<li class="sub-tier__group"><a href="#link">Poodles</a></li>
</ul>
</li>
</ul>
在sub-tier__group内还有其他div,标题等,但我想保持干净以便于演示。
class Page_List_With_Thumbnail extends Walker_Page {
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul>\n";
}
function start_el(&$output, $page, $depth, $args, $current_page) {
if ( $depth )
$indent = str_repeat("\t", $depth);
else
$indent = '';
extract($args, EXTR_SKIP);
$class_attr = '';
if ( !empty($current_page) ) {
$_current_page = get_page( $current_page );
if ( (isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors)) || ( $page->ID == $current_page ) || ( $_current_page && $page->ID == $_current_page->post_parent ) ) {
$class_attr = 'sel';
}
} elseif ( (is_single() || is_archive()) && ($page->ID == get_option('page_for_posts')) ) {
$class_attr = 'sel';
}
if ( $class_attr != '' ) {
$class_attr = ' class="' . $class_attr . '"';
$link_before .= '<strong>';
$link_after = '</strong>' . $link_after;
}
// Thumbnail
$page_thumbnail = get_the_post_thumbnail( $page->ID );
$output .= $indent . '<li' . $class_attr . '><a href="' . get_page_link($page->ID) . '"' . $class_attr . '">' . $page_thumbnail . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';
}
}
<?php
$walker = new Page_List_With_Thumbnail();
if($post->post_parent)
$children = wp_list_pages( array (
'title_li' => '',
'child_of' => $post->post_parent,
'echo' => '0',
'depth' => '0',
'walker' => $walker
) );
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul>
<?php echo $children; ?>
</ul>
<?php } ?>
目前,有一个get_the_post_thumbnail( $page->ID );
是好的衡量标准,但是如果我可以吐出alt,标题属性作为单独的标题会对这个噩梦蛋糕锦上添花。
我已经尽力将这里的东西拼凑在一起(以及400万其他谷歌搜索)所以我希望这对你来说很容易找到漂亮的WP忍者。
非常感谢你!