Получить содержимое записи WordPress по ID записи

17 февр. 2011 г., 22:52:31
Просмотры: 543K
Голосов: 183

Как я могу получить содержимое записи WordPress по ID записи?

0
Все ответы на вопрос 5
5
216

Проще некуда

$my_postid = 12;//Это идентификатор страницы или записи
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
17 февр. 2011 г. 23:19:09
Комментарии

Сокращенная запись для определенного поля: $content = get_post_field('post_content', $my_postid);

Rarst Rarst
17 февр. 2011 г. 23:39:16

@Bainternet мне просто любопытно... что делает часть $content = str_replace(']]>', ']]>', $content);? в чем ее назначение?

Average Joe Average Joe
4 нояб. 2013 г. 13:02:56

@AverageJoe это базовый поиск и замена. При использовании the_content() контент фильтруется. Поскольку в приведенном выше примере контент был получен напрямую, автор использовал поиск и замену для обеспечения безопасности.

Harish Chouhan Harish Chouhan
18 мар. 2014 г. 11:21:27

возможно, вам также нужен do_shortcode(), например $content = do_shortcode(get_post_field('post_content', $my_postid));

cyptus cyptus
9 мар. 2018 г. 15:47:29

Есть ли способ сохранить "more_link"?

user2128576 user2128576
5 июл. 2018 г. 04:46:02
4
158
echo get_post_field('post_content', $post_id); // выводит содержимое записи
5 окт. 2012 г. 16:50:55
Комментарии

лучше сделать так echo apply_filters('the_content', get_post_field('post_content', $post_id));. Например, при использовании qTranslate, вашего решения будет недостаточно.

Karel Attl Karel Attl
17 янв. 2013 г. 09:10:39

Это лучший ответ, если цель - получить содержимое записи так, как оно отображается на странице редактирования WordPress.

mcont mcont
8 авг. 2014 г. 16:21:41

Без кода от @KarelAttl отсутствовали переносы строк. С применением apply_filters код работает отлично.

Alexander Taubenkorb Alexander Taubenkorb
23 сент. 2015 г. 15:23:44

apply_filters - это хороший вариант, но не подходил для моей текущей задачи. Хорошо иметь оба варианта.

KnightHawk0811 KnightHawk0811
5 нояб. 2015 г. 20:12:38
0
49

Другой способ получить содержимое записи WordPress по id записи:

$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Чтобы дополнить этот ответ, я также добавил метод 01 и метод 02.

Метод 01 (автор - bainternet):

// Получаем объект записи
$content_post = get_post($my_postid);
// Получаем содержимое записи
$content = $content_post->post_content;
// Применяем фильтры содержимого
$content = apply_filters('the_content', $content);
// Заменяем специальные символы
$content = str_replace(']]>', ']]>', $content);

Метод 02 (автор - realmag777):

// Получаем содержимое записи напрямую
$content = get_post_field('post_content', $my_postid);

Метод 03:

// Получаем отфильтрованное содержимое записи
$content = apply_filters('the_content', get_post_field('post_content', $my_postid));

Прочитайте вопрос Какой способ получения содержимого WordPress по id записи является лучшим/эффективным и почему?, чтобы понять, какой из трех вышеперечисленных методов вам следует использовать.

2 дек. 2016 г. 07:15:41
0

Начиная с WordPress 5.2.0,

Теперь мы можем использовать объект записи или ID записи в функции get_the_content.

Мы также можем передать параметры $more_link_text и $strip_teaser

get_the_content( string $more_link_text = null, bool $strip_teaser = false, WP_Post|object|int $post = null )

Мы можем использовать её вместе с apply_filters, как показано ниже, чтобы получить все фильтры the_content

apply_filters( 'the_content', get_the_content(null, false, $post_id)),

Справка

3 февр. 2021 г. 16:30:08
1
-5

Если вам нужно получить несколько записей, используйте get_posts(). Эта функция не затрагивает основной запрос и возвращает массив записей, по которому легко выполнить итерацию.

20 нояб. 2015 г. 23:18:14
Комментарии

Этот ответ неправильно понимает вопрос

wickywills wickywills
21 апр. 2022 г. 09:56:46