我已经为我的wordpress主题中的页面启用了摘录功能-
add_action( \'init\', \'my_add_excerpts_to_pages\' );
function my_add_excerpts_to_pages() {
add_post_type_support( \'page\', \'excerpt\' );
}
这在通过管理区域添加或更新页面时启用了摘录框,这正是我所期望的。
然后我尝试在我的网站主页上显示每个摘录,如下所示-
$child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = 64 AND post_type = \'page\' ORDER BY post_title", \'OBJECT\'); ?>
<?php if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>
<div class="memberHover" id="member-<?php echo $pageChild->ID; ?>">
<div><h4><?php echo $pageChild->post_title; ?></h4>
<p><?php the_excerpt(); ?></p>
</div><?php echo get_the_post_thumbnail($pageChild->ID, \'312,156\'); ?>
</div>
<?php endforeach; endif; ?>
问题是,即使我有一个通过管理区填充的手动摘录,它仍然会在主页上显示时创建自动摘录。似乎它没有发现数据库中每个项目都有一个自定义摘录这一事实。
非常感谢您的帮助!
谢谢,特里斯坦
最合适的回答,由SO网友:Dwayne Charrington 整理而成
因为我对如何在Wordpress中进行循环非常挑剔,所以我忍不住想在你的问题中发布一个更好的方法来进行上述循环,因为从你的方式来看,这对你自己来说似乎是很多不必要的工作。
您已经回答了自己的问题,但为了能够使用函数the\\u extract(),我重写了上面的代码,以使用WP\\u查询对象,我认为这是处理循环相关问题的更好方法(更不用说更简单)。当您想要查询WP\\u查询类无法查询的内容时,实际上只需要使用这样的手动查询。
<?php
$args = array(\'post_parent\' => 64, \'orderby\' => \'title\', \'order\' => \'ASC\', \'post_type\' => \'page\', \'post_status\' => \'publish\');
$child_pages = new WP_Query($args);
?>
<?php if ($child_pages->have_posts()): ?>
<?php while($child_pages->have_posts()): $child_pages->the_post(); ?>
<div class="memberHover" id="member-<?php the_ID(); ?>">
<div><h4><?php the_title(); ?></h4>
<p><?php the_excerpt(); ?></p>
</div><?php echo get_the_post_thumbnail($post->ID, \'312,156\'); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>