J'ai une page qui est assignée comme "Blog". Ce que je voudrais autoriser, c’est que l’utilisateur ajoute du contenu à cette page, puis l’affiche avant que les articles ne s'affichent sur index.php
. Je pensais que je pouvais le faire en utilisant cette méthode:
<?php
$blog = get_option('page_for_posts');
echo apply_filters('the_content', get_the_content($blog));
?>
Pour une raison quelconque, il est décidé de tirer le premier message au lieu de tirer le contenu de la page. Est-ce un bug ou existe-t-il une autre méthode pour extraire le contenu de la page de blog?
Vous utilisez get_the_content()
false, il ne peut pas prendre d'identifiant, ce que get_option('page_for_posts')
renvoie, et récupère généralement le contenu de la publication en cours dans la boucle, dans laquelle elle doit être utilisée.
Pour obtenir le contenu réel de cette page, vous pouvez faire:
$page_for_posts_id = get_option( 'page_for_posts' );
$page_for_posts_obj = get_post( $page_for_posts_id );
echo apply_filters( 'the_content', $page_for_posts_obj->post_content );
Ou:
$page_for_posts_id = get_option('page_for_posts');
echo get_post_field( 'post_content', $page_for_posts_id );