2012-03-15 56 views
0

我有一个使用wordpress的webblog我正在使用wp_list_pages()函数来获取列表中的子页面链接(不包括主页面),我试过了下面的代码,但它返回所有页面子页面。如何在wordpress页面中只列出子页面标题和链接div

我也试过这个参数child_of但它并不好看。请建议我尝试了这么多的事情......

<?php 

$output = wp_list_pages('echo=0&depth=1&child_of=0'); 
    if (is_page()) { 
     $page = $post->ID; 
      if ($post->post_parent) { 
      $page = $post->post_parent; 
      } 
     } 
     echo $output; 
?> 

回答

0

此代码将列出当前页面的子页面和兄弟姐妹:

<?php 
global $wp_query; 
if(empty($wp_query->post->post_parent)) { 
    $parent = $wp_query->post->ID; 
} 
else { 
    $parent = $wp_query->post->post_parent; 
} ?> 
<?php if(wp_list_pages("title_li=&child_of=$parent&echo=0")): ?> 
<div id="submenu"> 
    <ul> 
     <?php wp_list_pages("title_li=&child_of=$parent"); ?> 
    </ul> 
</div> 
<?php endif; ?> 
+0

它显示什么,我认为你做了一些副本并粘贴一些东西。我检查了各种参数和方法,没有任何工作。 :D – user1132928 2012-03-15 21:35:44

+0

我认为这一个更好,更紧凑,但没有结果<?php $ children = wp_list_pages('title_li =&&child_of ='。$ post-> post_parent。'&echo = 0'); if($ children){echo $ children; }?> – user1132928 2012-03-15 21:37:34

+0

你在哪里添加代码?我测试过它,它适用于我。您确定在页面上设置了使用它的子页面吗? – itsdanprice 2012-03-15 21:45:25

0
U can try this code this code may be useful to u 

<?php 
global $wpdb, $post; 
$child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?> 
<?php if ($child_pages) : 
foreach ($child_pages as $pageChild) : 
setup_postdata($pageChild); ?> 
<h2 class="subpagetitle"> 
<a href="<?php echo get_permalink($pageChild->ID); ?>" rel="bookmark" 
title="<?php echo $pageChild->post_title; ?>"> 
<?php echo $pageChild->post_title; ?> 
</a> 
</h2> 

<?php endforeach; endif; ?> 
相关问题