获取特定页面的内容(按ID)

时间:2013-06-04 作者:Samuel Stiles

我制作了以下首页模板:

enter image description here

代替那些大的Lorem Ipsum 块,我需要显示特定页面的“摘录”以填充该框(一定数量的字符)。

如何获取字符串格式的页面内容,以便能够将其回送并精简到一定数量的字符?

9 个回复
最合适的回答,由SO网友:Marc Dingena 整理而成
<?php

// would echo post 7\'s content up until the <!--more--> tag
$post_7 = get_post(7); 
$excerpt = $post_7->post_excerpt;
echo $excerpt;

// would get post 12\'s entire content after which you
// can manipulate it with your own trimming preferences
$post_12 = get_post(12); 
$trim_me = $post_12->post_content;
my_trim_function( $trim_me );

?>
SO网友:ameer hamza

Here you go !

<?php
$my_id = 5369;
$post_id_5369 = get_post($my_id);
$content = $post_id_5369->post_content;
$content = apply_filters(\'the_content\', $content);
$content = str_replace(\']]>\', \']]>\', $content);
echo $content;
?>
SO网友:João Marcos Santos Teixeira
$post   = get_post( 42 );

$output =  apply_filters( \'the_content\', $post->post_content );

echo $output;

from https://developer.wordpress.org/reference/functions/get_post/

SO网友:Haitham Shehata

您可以使用此代码,它是work fine change page\\u id=19,页码为:

<?php $the_query = new WP_Query( \'page_id=19\' ); ?>

<?php while ($the_query -> have_posts()) : $the_query -> the_post();  ?>

                       <?php the_excerpt(); ?>


     <?php endwhile;?>

SO网友:Tom J Nowell

如果您在循环中,请执行以下操作:

<?php
$my_excerpt = get_the_excerpt();
if ( $my_excerpt != \'\' ) {
    // Some string manipulation performed
}
echo $my_excerpt; // Outputs the processed value to the page
或者,如果您有ID,请获取帖子,然后起诉post\\u摘录成员var

e、 g。

$post = get_post( $post_id );
echo $post->post_excerpt;

SO网友:Jmd Web Solutionss

尝试此代码,只需更改page_id:

<?php $my_query = new WP_Query(\'page_id=20\');
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>
 <h3><?php the_title(); ?></h3>
    <div class="text">

        <?php echo wp_trim_words( get_the_content(), 15, \'...\' ); ?>
 <a href="<?php echo get_page_link(); ?>" class="read-more">Read More</a>
    </div>

 <?php endwhile; ?>

SO网友:Etienne Dupuis

对于像我这样的邮轮迷来说。按页面ID更改69。

<?= apply_filters(\'the_content\', get_post(69)->post_content); ?>

SO网友:Lee Miller

可以使用短代码来完成此操作。将以下内容添加到函数中。php

function lorem_func($attr) {
$txt = "<p>Lorem ipsum dolor .........</p>";
shortcode_atts(
 array(
    \'repeat\' => 1,
 ), $attr
);
return str_repeat($txt, $attr[\'repeat\'] );
}
add_shortcode(\'lorem\', \'lorem_func\');
在内容使用范围内呈现;

[lorem repeat="2"]
只需修改;Lorem ipsum dolor"E;所需长度。lorum repeat=2更改为所需的段落数量。在上面的例子中=2意味着2段,所以它是多功能的。

SO网友:Kees

已经回答了,但我认为更方便的函数是get\\u post\\u字段(\'fieldname\',$post\\u id);

因此,在您的情况下:

echo get_post_field( \'post_excerpt\', $post_id );

结束

相关推荐

使用ob_get_content获取搜索表单进入无限循环

我正在尝试更改searchform的外观。它基本上需要有两个文本字段。我希望这是一个插件的形式,任何人都可以激活。所以很明显我无法控制searchform.php. 我还读到,如果搜索表单。如果存在php,则忽略echo参数(http://codex.wordpress.org/Function_Reference/get_search_form#Notes)这让我看到了标题为“MOAR OBJECT BUFFERZ!!!”下的代码片段地址:http://shinraholdings.com/363/3-