wordpress由id摘录

时间:2012-07-06 22:46:51

标签: wordpress

我正在使用options framework

我无法理解为什么这不起作用

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

非常奇怪,因为

echo of_get_option('post_number');

完美运作并输出数字

根据get_post,我的代码应该可行 然而,回声不会产生任何结果,甚至不会产生错误信息

所以我必须以某种方式错误地处理get_post(),任何线索?


修改

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

如何重新制作摘录?


编辑[已解决]

我决定手写覆盖摘录,但我的选项丢失,然后我发现this

并使用

add_post_type_support( 'page', 'excerpt' );

手动编写摘录

3 个答案:

答案 0 :(得分:27)

$text = apply_filters('the_excerpt', get_post_field('post_excerpt', $post_id));

答案 1 :(得分:3)

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

$excerpt = wp_trim_words ( strip_shortcodes( $recent["post_content"], 55 ) );

答案 2 :(得分:1)

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

<?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 );
?>