4

我正在尝试从页面中获取 wordpress 摘录以显示在页脚的样式区域中。我目前有以下内容,它给了我标题和所有内容:

<?php
$page_id = 2;
$page_data = get_page( $page_id );
$content = $page_data->post_content;
$title = $page_data->post_title;
echo '<h3>'. $page_data->post_title .'</h3>';
echo '<p>'. $page_data->post_content .'</p>'; ?>

我尝试了 post_excerpt 而不是 post_content 的各种组合,并尝试在此处模拟和编辑示例:http://codex.wordpress.org/Function_Reference/get_page没有任何运气。有几次我尝试过其他人的例子,但根本没有内容。

这可能是因为我试图让它在循环之外显示,还是我只是没有找到正确的组合?

谢谢。

4

3 回答 3

8

为什么不使用substr()来限制字符串?

$content = $page_data->post_content;
$excerpt = substr($content, 0, 155);

大意的东西

以这种速度,您无需尝试找到摘录的真实变量,并且可以控制长度,以及结尾是否有省略号等。

此外,如果您需要找到摘录变量,您可以只执行 a var_dump($page_data),然后查看返回您需要的值,不是吗?

编辑:

您可以尝试在 functions.php 中使用类似这样的函数向页面添加手动摘录

add_action( 'init', 'my_add_excerpts_to_pages' );
function my_add_excerpts_to_pages() {
    add_post_type_support( 'page', 'excerpt' );
}

编辑编辑:

所以我只是挖得更深一点,这里的这个小家伙可能会帮助你。把它放到你的functions.php文件中(source

add_post_type_support( 'page', 'excerpt' );
于 2012-10-09T04:30:22.950 回答
0

也许尝试通过将其直接放在您发布的代码之前来重置 wordpress 查询。

<?php wp_reset_query(); ?>
于 2012-10-09T04:13:55.810 回答
0

使用此代码摘录...

<?php query_posts('cat=ID'.'&showposts=NO. OF POST') ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p><?php echo substr(get_the_excerpt(), 0,65).' [...]'; ?></p>
<a href="<?php the_permalink(); ?>">Read More...</a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<?php endif;?>
于 2012-10-09T06:55:00.343 回答