正确的方法来获取页面内容

我必须得到特定的页面内容(如页面(12))

我用这个:

<?php $id=47; $post = get_page($id); echo $post->post_content; ?> 

工作很好的执行与qtranslate的兼容性,它返回法文和英文文本

但循环是好的,只返回良好的语言版本

 <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <div id="post"> <?php the_content(); ?> </div> <!-- .post --> 

所以问题….如何获得一个特定的页面内容insite循环…

我已经回答了我自己的问题。 打电话给apply_filter ,你去了。

 <?php $id=47; $post = get_post($id); $content = apply_filters('the_content', $post->post_content); echo $content; ?> 

通过页面名称获取页面内容:

 <?php $page = get_page_by_title( 'page-name' ); $content = apply_filters('the_content', $page->post_content); echo $content; ?> 

通过id获取内容的简单快捷方式:

 echo get_post_field('post_content', $id); 

如果你想获得格式化的内容:

 echo apply_filters('the_content', get_post_field('post_content', $id)); 

适用于页面,post和自定义post。

我用这个:

 <?php echo get_post_field('post_content', $post->ID); ?> 

这更简洁:

 <?= get_post_field('post_content', $post->ID) ?> 

只是复制和粘贴这个代码,它会得到您的网页内容。

 <?php $pageid = get_the_id(); $content_post = get_post($pageid); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]&gt;', $content); echo $content; ?> 

wp_trim_words函数也可以通过改变$ num_wordsvariables来限制字符。 对于任何人可能会发现有用的。

 <?php $id=58; $post = get_post($id); $content = apply_filters('the_content', $post->post_content); $customExcerpt = wp_trim_words( $content, $num_words = 26, $more = '' ); echo $customExcerpt; ?> 
 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'prev_text' >' Previous','post_type' => 'page', 'posts_per_page' => 5, 'paged' => $paged ); $wp_query = new WP_Query($args); while ( have_posts() ) : the_post(); //get all pages the_ID(); the_title(); //if you want specific page of content then write if(get_the_ID=='11')//make sure to use get_the_ID instead the_ID { echo get_the_ID(); the_title(); the_content(); } endwhile; 

//如果你想要特定页面的内容然后写入循环

  if(get_the_ID=='11')//make sure to use get_the_ID instead the_ID { echo get_the_ID(); the_title(); the_content(); }