6

我正在使用选项框架

我不知道为什么这不起作用

$x = of_get_option('post_number');
$content_post = get_post($x);
echo $content_post->post_excerpt;

这很奇怪,因为

echo of_get_option('post_number');

完美运行并输出一个数字

并且根据get_post我的代码应该可以工作,但是 echo 什么也没产生,甚至没有错误消息

所以我必须以某种方式错误地处理get_post(),有什么线索吗?


编辑

var dump http://pastebin.com/ZEgQ5WPn 显示 post_content 已满但 post_excerpt 为空

我如何重新生成摘录?


编辑 [已解决]

我决定手动覆盖摘录,但我的选项不见了,然后我发现了这个

并使用

add_post_type_support( 'page', 'excerpt' );

手动编写摘录

4

3 回答 3

29
$text = apply_filters('the_excerpt', get_post_field('post_excerpt', $post_id));
于 2013-08-14T13:56:16.180 回答
3

这将获取 post_content 并从中创建摘录。您可以将 post_content 替换为任何其他代码字符串。将 55 更改为另一个数字以增加返回的单词量。

$excerpt = wp_trim_words ( strip_shortcodes( $recent["post_content"], 55 ) );
于 2015-01-28T20:33:25.907 回答
1

您应该能够像这样使用get_post() ,它将几乎所有内置的帖子属性作为帖子对象的一部分返回。

<?php
  $my_id = 7;
  $my_post = get_post( $my_id ); 
  $my_excerpt = $my_post->post_excerpt;
  var_dump( $my_excerpt );
?> 

如果失败(它不应该,但也许你已经通过它的声音尝试过)也许检出WP_Query"p=$my_id"作为参数传入。无论如何,这很可能是 get_post 引擎盖下使用的函数。

<?php
  $my_id = 7;
  $my_posts = new WP_Query( "p=$my_id" ); 
  var_dump( $my_posts );
?> 
于 2012-07-06T22:52:36.037 回答