如何在主页中显示来自特定父页面的子页面?

时间:2012-04-20 作者:ruslyrossi

如何在主页中显示特定父页面中的子页面?

这是我的页面结构

Home
About Us
Hotel Category
  Hotel A
    Room 1
    Room 2
  Hotel B
    Room 1
    Room 2
  Hotel C
    Room 1
    Room 2
Contact Us
我试图在主页上实现这一点(父页面为酒店类别:id=8)

Hotel A
Hotel B
Hotel C
列出酒店A、酒店B和酒店C以及一些例外和缩略图(此魔法场)

2 个回复
SO网友:Chaos67731

这应该可以做到。

<?php
  $pages = get_pages(\'child_of=199\');
  foreach($pages as $child) {
?>
  <h3><?php echo get_the_title($child->ID); ?></h3> 
<?php 
  // This next line gets the full page of content
  // echo get_post_field(\'post_content\', $child->ID);

 // This next line will cut the content off at 450 letters
  // With a read more link under it 
  echo \'<p>\' . substr(get_post_field(\'post_content\', $child->ID), 0, 450) . \'</p>\'; ?> 
 <a href="<?php echo get_permalink( $child->ID ); ?>"> READ MORE </a> 
<?php } ?>
将“child\\u of=199”更改为要获取其子级的页面ID。

有一行被注释掉了,这一行将得到整页内容

用于获取内容的行将只获取前450个字母。

必须有一种更好的方式来获取内容,因为这会引入HTML和所有内容——因此,如果第一个450个字母恰好落在图像的中间,那么您将有破碎的文本。

我相信在谷歌上快速搜索“通过Id获取帖子内容”会对这一部分有所帮助

SO网友:Fazle Elahee

下面的代码(用于显示带有标题和摘录的子页面的模板)可能对您有用。如果您使用wordpress category->post而不是wordpress页面,请相应地更改wp\\U查询。您可以获得有关wp\\U查询的更多信息:http://codex.wordpress.org/Class_Reference/WP_Query

以下是模板代码:

<?php /** Template Name: show child pages */ get_header(); ?> <div id="container"> <div id="content" role="main"> <?php get_template_part( \'loop\', \'page\' ); global $post; $args=array( "post_parent" => $post->ID, \'paged\' => get_query_var( \'page\' ), \'post_type\' => \'page\' ); // The Query $the_query = new WP_Query( $args ); // The Loop echo "<ul>"; while ( $the_query->have_posts() ) : $the_query->the_post(); echo \'<li class="chiled-title">\'; the_title(); the_excerpt(); echo \'</li>\'; endwhile; echo "<ul/>"; ?> <?php if ( $wp_query->max_num_pages > 1 ) : ?> <div id="nav-below" class="navigation"> <div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">&larr;</span> Older posts\', \'twentyten\' ) ); ?></div> <div class="nav-next"><?php previous_posts_link( __( \'Newer posts <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) ); ?></div> </div><!-- #nav-below --> <?php endif; ?> <?php // Reset Post Data wp_reset_postdata(); ?> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> <?php get_footer(); ?>

结束

相关推荐

How do you categorize pages?

我是一名经验丰富的Drupal开发人员,刚刚被Wordpress困住。对于新wordpress构建中选定数量的页面,我需要将它们添加到一个类别中,然后将此类别块添加到显示不同类别的页面中(选择它们将充当过滤器)。在drupal中,这将涉及创建自定义内容类型、分类法和视图块等。如何在wordpress中实现同样的效果?我知道我可以创建一个侧栏并将一个小部件放入其中。但我正在努力学习如何创建块,以便将这些页面放入其中并进行分类。