Content editor weergeven in Berichtenpagina (home.php) WordPress

 

Content editor weergeven berichtenpagina WordPress

Doordat WordPress door enorm veel mensen gebruikt wordt is het vanzelfsprekend dat niet iedereen het op dezelfde manier gebruikt. Ook per project kan dit verschillen. Ik bevond mezelf in zo’n situatie en het leek me een goed idee om hier een bericht over te schrijven.

De situatie

Wanneer je bij een WordPress installatie een berichtenpagina selecteert (vaak Blog of Nieuws), verdwijnt het content editor veld van die pagina. Dit is niet altijd wat je wil. Bijvoorbeeld als je een dynamische intro tekst boven je blogberichten wilt invoeren.

Een mogelijke optie is natuurlijk om in het template bestand van deze pagina (home.php) hard-coded je tekst te typen, maar dit is niet de beste manier. Een andere optie zou kunnen zijn om dit met custom fields of Advanced Custom Fields op te lossen. Hier ga ik vandaag even niet op in. Ik wil graag de standaard WordPress editor terughalen in de berichtenpagina.

Het terughalen van de editor

Na een kleine zoektocht op internet kwam ik een simpele oplossing tegen.

Voeg onderstaande functie in je functions.php toe:

// Content editor op Berichtenpagina
function fix_no_editor_on_posts_page($post) {

if( $post->ID != get_option( 'page_for_posts' ) ) { return; }
remove_action( 'edit_form_after_title', '_wp_posts_page_notice' );
add_post_type_support( 'page', 'editor' );
}

add_action( 'edit_form_after_title', 'fix_no_editor_on_posts_page', 0 );

En onderstaand stukje code in home.php

$posts_page = get_post( get_option( 'page_for_posts' ) );

// De titel van de pagina ophalen en weergeven
echo apply_filters( 'the_title', $posts_page->post_title );

// De content van de pagina ophalen en weergeven
echo apply_filters( 'the_content', $posts_page->post_content );

Refresh nu de pagina, verwijder je cache indien nodig en je ziet nu dat de content editor weer verschijnt in je berichtenpagina.