不显示页面的手动摘录的_excerpt()

时间:2012-02-28 作者:TGuimond

我已经为我的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; ?>
问题是,即使我有一个通过管理区填充的手动摘录,它仍然会在主页上显示时创建自动摘录。似乎它没有发现数据库中每个项目都有一个自定义摘录这一事实。

非常感谢您的帮助!

谢谢,特里斯坦

3 个回复
最合适的回答,由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; ?>

SO网友:willbeeler

我以前有过这个问题。您处理它的方式是正确的,但您也可以这样做,这本质上是相同的(但有点不同):

<?php echo get_the_excerpt();?>

SO网友:TGuimond

固定:)

我更新了<p><?php the_excerpt(); ?></p> 未来<p><?php echo $pageChild->post_excerpt; ?></p> 这就解决了问题。

结束

相关推荐

Auto Populate Excerpt Field

如何用帖子内容的前15个单词自动填充摘录字段?我找到了以下片段:function wps_excerpt_content( $content ) { $content = \"YOUR EXCERPT HERE\"; return $content; } add_filter( \'default_excerpt\', \'wps_excerpt_content\' ); 但我不知道如何根据需要修改它。有什么帮助吗?