it-swarm.com.de

Post-Inhalt nach ID abrufen

Wie kann ich den Inhalt eines Posts anhand der Post-ID abrufen? Ich habe versucht, get_page('ID'); Inhalte anzuzeigen, aber es funktioniert nicht.

9
viral m

Sie können es auf mehrere Arten tun. Im Folgenden sind die besten zwei Möglichkeiten aufgeführt.

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

Eine andere Methode

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

Nach Pieter Goosen Vorschlag auf apply_filters.

Sie können apply_filters verwenden, wenn der Inhalt von anderen Plugins gefiltert werden soll. Das macht die Verwendung von do_shortcode überflüssig

Beispiel

$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.

Wenn Sie nicht möchten, dass andere Plugins diesen Inhalt filtern und eine Shortcode-Funktion benötigen, gehen Sie zu do_shortcode.

Wenn Sie keinen Shortcode möchten, spielen Sie einfach mit dem post_content.

13
WPTC-Troop
$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);
0

Ich lasse hier nur einen anderen hässlichen Weg, den Sie vielleicht manchmal nützlich finden. Natürlich werden immer Methoden bevorzugt, die API-Aufrufe verwenden (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
    )
);
0
DrLightman