如何获取特定页面内容

时间:2013-08-17 作者:pagol

下面是我的代码工作得很好,但问题是html标记没有出现。。如等。。。不知道为什么。。。

  <?php $recent = new WP_Query("page_id=2"); while($recent->have_posts()) : $recent->the_post();?>
    <?php 
    echo substr(get_the_excerpt(), 0,450);

     ?>
     <a href="<?php the_permalink() ?>" rel="bookmark">
             More About Us
              </a>
下面是另一段代码,它是html标记,一切正常。。但我不知道怎么在那里做permalink。。我放在那里的permalink我不工作。

<?php
$my_id = 2;
$page_id = get_post($my_id);
$content = $page_id->post_content;
echo substr($content, 0, 450);

?>
  <a href="<?php the_permalink() ?>" >More About Us</a>
还有什么是获得特定页面内容的最佳方式,如bellow方式

<h2>title</h2>
<div>featured image </div>
<div>content</div>
<a href="<?php the_permalink() ?>" rel="bookmark">

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

而不是打电话WP_Query() 您可以使用get_post() 并“设置”global $post. 这可能比@tf的答案更有效一点,尽管想法大体相同。

请注意,在这两种情况下,您都应该在事后重置post数据

/**
 * Display the post content. Optionally allows post ID to be passed
 * @uses the_content()
 *
 * @param int $id Optional. Post ID.
 * @param string $more_link_text Optional. Content for when there is more text.
 * @param bool $stripteaser Optional. Strip teaser content before the more text. Default is false.
 */
function sh_the_content_by_id( $post_id=0, $more_link_text = null, $stripteaser = false ){
    global $post;
    $post = &get_post($post_id);
    setup_postdata( $post, $more_link_text, $stripteaser );
    the_content();
    wp_reset_postdata();
}
资料来源:http://stephenharris.info/get-post-content-by-id/

SO网友:tfrommen

(get_)the_excerpt() 剥离HTML标记-这就是为什么没有HTML标记的原因。;)

仅使用the_content() 而不是the_excerpt() 如果要显示全部内容。

$recent = new WP_Query("page_id=2");
while ($recent->have_posts()) : $recent->the_post();
    echo \'<a href="\'.get_the_permalink().\'" rel="bookmark">Permalink</a>\';
    the_content();
endwhile;
wp_reset_postdata();
至于输出post数据的最佳方式,您应该看看this.

结束

相关推荐

通过函数将输入字段添加到‘Pages>编辑页面’。php

原始问题:我正在尝试将输入字段添加到“页面>编辑页面”。此输入字段的使用将由用户添加滑块的ID,以便滑块特定于页面。示例:用户将幻灯片ID添加到编辑页面屏幕的输入字段中页面输入该ID。感谢所有回应的人,你们是一个很棒的社区,我从这个网站得到了极好的帮助,谢谢!FINAL RESULTfunctions.php// Add custom Slider ID field to \'Edit Page\' add_action( \'add_meta_boxes\', \'cd_meta_box_