2014-11-05 27 views
0

我想自定义以下代码,以显示当前页面的所有同级页面,但不是将它们输出为标题,而是将它们输出为bulletpoints(样式化的bulletpoints,因此图像,'images/bulletpoint.gif')。我有以下代码显示它们作为名称,但似乎无法将它们自定义为显示为图像。有任何想法吗?PHP显示同级页面作为设置图像

非常感谢

<ul class="subnav_right"> 
<?php 
global $post; 
$current_page_parent = ($post->post_parent ? $post->post_parent : $post->ID); 

wp_list_pages(array(
    'title_li' => '', 
    'child_of' => $current_page_parent, 
    'depth' => '1') 
); 
?> 
</ul> 
+0

你上传的图像或全兄弟姐妹bulletpoints? – 2014-11-05 10:27:03

+0

只是希望每个兄弟姐妹被列为子弹点图像,没有文字。因此,每个兄弟的一个图像 – isabelle 2014-11-05 10:29:35

回答

1

您可以自定义使用walker.I已经使用学步车做到了。检查下面的代码:

行者等级:

class Custom_Walker extends Walker_Page { 

    function start_el(&$output, $page, $depth, $args, $current_page = 0) { 
     if ($depth) 
      $indent = str_repeat("\t", $depth); 
     else 
      $indent = ''; 
      extract($args, EXTR_SKIP); 
      $css_class = array('page_item', 'page-item-'.$page->ID); 
     if (!empty($current_page)) { 
      $_current_page = get_post($current_page); 
      if (in_array($page->ID, $_current_page->ancestors)) 
       $css_class[] = 'current_page_ancestor'; 
      if ($page->ID == $current_page) 
       $css_class[] = 'current_page_item'; 
      elseif ($_current_page && $page->ID == $_current_page->post_parent) 
       $css_class[] = 'current_page_parent'; 
     } 
     elseif ($page->ID == get_option('page_for_posts')) { 
      $css_class[] = 'current_page_parent'; 
     } 

     $css_class = implode(' ', apply_filters('page_css_class', $css_class, $page, $depth, $args, $current_page)); 
     $icon_class = get_post_meta($page->ID, 'icon_class', true); //Retrieve stored icon class from post meta 

     $output .= $indent . '<li class="' . $css_class . '">'; 
      $output .= '<a href="' . get_permalink($page->ID) . '">' . $link_before; 

       if($icon_class){ //Test if $icon_class exists 
        $output .= '<span class="' . $icon_class . '"></span>'; //If it exists output a span with the $icon_class attached to it 
       } 


      if($depth!=0){ 
       $output .= apply_filters('the_title', '', $page->ID); 
      }else { 
       $output .= apply_filters('the_title', $page->post_title, $page->ID); 
      } 
      $output .= $link_after . '</a>'; 

     if (!empty($show_date)) { 
      if ('modified' == $show_date) 
       $time = $page->post_modified; 
       else 
       $time = $page->post_date; 
       $output .= " " . mysql2date($date_format, $time); 
     } 
    } 
} 

通沃克在像argumnent:

wp_list_pages(array('title_li' => '', 
    'child_of' => $current_page_parent, 
    'depth' => '1', 
     'walker' => new Custom_Walker()) 
); 
+0

谢谢 - 仍然输出页面标题?而不是子弹点图像?我在哪里添加代码以显示图像? – isabelle 2014-11-05 10:55:01

+0

yes在functions.php中。如果有帮助,请接受回答 – 2014-11-05 10:56:48

+0

现在工作吗?添加类到functions.php? – 2014-11-05 11:18:30