it-swarm.com.de

Standardeditor auf Blog-Seite anzeigen (Administrationsbereich)

In WordPress 4.2 gab es eine nette Funktion, die beschriftete, welche Seite die Startseite und welche Seite der Blog war (Neueste Beiträge). Leider wird auch der Standardeditor auf der Seite entfernt, auf der die neuesten Beiträge angezeigt werden. Stattdessen wird die folgende Nachricht angezeigt:

Sie bearbeiten gerade die Seite, auf der Ihre letzten Beiträge angezeigt werden.

Ich möchte der Blog-Seite Inhalte zuweisen, die über meinen neuesten Beiträgen angezeigt werden:

get_post_field( 'post_content', get_option( 'page_for_posts' ) );

Wie kann ich den Standard-Editor WP der Blog-Seite im Administrationsbereich erneut hinzufügen, ohne eine separate Metabox hinzuzufügen?

6
Howdy_McGee

In WordPress 4.2 wurde der Editor auf jeder zugewiesenen Seite entfernt, um die neuesten Beiträge anzuzeigen, aus welchem ​​Grund auch immer. Die folgende Funktion ( hier gefundene Originallösung von crgeary ) fügt den Editor erneut hinzu und entfernt die Benachrichtigung:

Sie bearbeiten gerade die Seite, auf der Ihre letzten Beiträge angezeigt werden.

Hier einige Informationen zu den verwendeten Haken:


if( ! function_exists( 'fix_no_editor_on_posts_page' ) ) {

    /**
     * Add the wp-editor back into WordPress after it was removed in 4.2.2.
     *
     * @param Object $post
     * @return void
     */
    function fix_no_editor_on_posts_page( $post ) {
        if( isset( $post ) && $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 );
 }

Bearbeiten Sie für WordPress 4.9

Ab WordPress 4.9.6 kann der Editor dadurch nicht erneut installiert werden. Es sieht so aus, als würde die Aktion edit_form_after_title nicht früh genug aufgerufen. Diese Änderung, die beim frühesten nicht veralteten Hook nach dem Entfernen des Editors in edit-form-advanced.php aufgerufen wird, scheint in Ordnung zu sein.

Neben dem Hakenwechsel ändert sich auch die Anzahl der Parameter.

if( ! function_exists( 'fix_no_editor_on_posts_page' ) ) {

    function fix_no_editor_on_posts_page( $post_type, $post ) {
        if( isset( $post ) && $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( 'add_meta_boxes', 'fix_no_editor_on_posts_page', 0, 2 );

 }
14
Howdy_McGee