Получать сообщение по ID

Как я могу получить содержимое сообщения по id сообщения? Я попробовал get_page('ID');, чтобы показать контент, но он не работает.

6 голосов | спросил viral m 6 Jam1000000amWed, 06 Jan 2016 09:37:49 +030016 2016, 09:37:49

4 ответа


10

Вы можете сделать это несколькими способами. Ниже приведены лучшие два пути.

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes

Другой метод

$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes

После предложения Pieter Goosen на apply_filters.

Вы можете использовать apply_filters, если хотите, чтобы контент был отфильтрован другими плагинами. Таким образом, это устраняет необходимость использования do_shortcode

Пример

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo apply_filters('the_content',$content);
 //no need to use do_shortcode, but content might be filtered by other plugins.

Если вы не хотите разрешать другим плагинам фильтровать это содержимое и нуждаться в функции короткого кода, перейдите к do_shortcode.

Если вам не нужен короткий код, просто играйте с помощью post_content.

ответил WPTC-Troop 6 Jam1000000amWed, 06 Jan 2016 09:58:42 +030016 2016, 09:58:42
0

Я просто оставлю здесь еще один хакерский уродливый способ, который иногда может оказаться полезным. Конечно, методы, которые используют вызовы API, всегда предпочтительнее (get_post (), get_the_content (), ...).

global $wpdb;
$post_id = 123; // fill in your desired post ID
$post_content_raw = $wpdb->get_var(
    $wpdb->prepare(
        "select post_content from $wpdb->posts where ID = %d",
        $post_id
    )
);
ответил DrLightman 19 62016vEurope/Moscow11bEurope/MoscowSat, 19 Nov 2016 13:32:50 +0300 2016, 13:32:50
0
$id = 23; // add the ID of the page where the zero is
$p = get_page($id);
$t = $p->post_title;
echo '<h3>'.apply_filters('post_title', $t).'</h3>'; // the title is here wrapped with h3
echo apply_filters('the_content', $p->post_content);
ответил Dharmishtha Patel 19 Jam1000000amFri, 19 Jan 2018 09:28:45 +030018 2018, 09:28:45
-1

Используя get_page('ID').

$page_id = 123;  //Page ID
$page_data = get_page($page_id); 
$title = $page_data->post_title; 
$content = $page_data->post_content;
ответил etest 6 Jam1000000amWed, 06 Jan 2016 10:26:10 +030016 2016, 10:26:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132