Правильный способ получить контент страницы

39

Мне нужно получить конкретное содержимое страницы (например, страница (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 -->

Итак, вопрос... КАК получить конкретное содержимое страницы, связать цикл...

Теги:

8 ответов

118
Лучший ответ

Я ответил на свой вопрос. Вызовите apply_filter и там вы идете.

<?php 
$id=47; 
$post = get_post($id); 
$content = apply_filters('the_content', $post->post_content); 
echo $content;  
?>
  • 0
    быстро и элегантно
  • 7
    get_page устарел: codex.wordpress.org/Function_Reference/get_page . Вместо этого используйте get_post.
Показать ещё 5 комментариев
29

получить содержимое страницы по названию страницы:

<?php
$page = get_page_by_title( 'page-name' );
$content = apply_filters('the_content', $page->post_content); 
echo $content;
?>
  • 0
    Также может быть полезен get_page_by_path .
5

Я использовал это:

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

и это еще более кратким:

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

Простой, быстрый способ получить содержимое по id:

echo get_post_field('post_content', $id);

И если вы хотите получить отформатированный контент:

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

Работает со страницами, сообщениями и настраиваемыми сообщениями.

4

Просто скопируйте и вставьте этот код, чтобы получить содержимое своей страницы.

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

Функция wp_trim_words также может ограничить символы, изменив переменную $num_words. Для тех, кто может оказаться полезным.

<?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;  
?>
1
$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();
    }
  • 0
    Это не отвечает на вопрос; get_the_ID получает идентификатор текущего сообщения - вопрос ищет определенную страницу в цикле.
  • 0
    Если бы вы могли отредактировать свой ответ и объяснить, что делает код, который вы показываете, и почему / как этот код отвечает на вопрос, это действительно может помочь. Блоки кода сами по себе обычно не являются полезными ответами.
0

Один вкладыш:

<? if (have_posts()):while(have_posts()): the_post(); the_content(); endwhile; endif; ?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню