WordPress Auszug über dem Editor

WordPress Excerpt oder Auszug über dem Editor

Der Auszug – die Zusammenfassung oder Excerpt zum Beitrag – liegt bei den meisten Themes per se verdeckt unter Ansicht anpassen und fristet dort ein Mauerblümchendasein. Dabei ist er das starke Signal in Übersichtsseiten und gibt oft auch die Meta Description her.

Ein manueller Auszug hat seine Vorteile, also verlegen wir die Meta-Box über den Editor. Wenn das Theme auf der Beitrags-Seite the_excerpt () und the_content () ausgibt, lassen sich Auszug und Inhalt besser trennen, aber vor allem laden Übersichtsseiten wie page/2, page/3 scheller, denn WordPress muss nur den Auszug und nicht 10 mal den Volltext laden und bei more kürzen.

WordPress Auszug nur sichtbar mit Ansicht anpassen

Den Auszug über den Editor zu setzen kostet nur wenige Zeilen Code in der functions.php.

Erst mal: Meta-Box Auszug entfernen

Die Auszug-Box wird nicht gelöscht, sondern im nächsten Schritt über den Editor wieder gesetzt.

/**
 * Zuerst die Standard-Meta-Box entfernen. 
 *
 * @return null
 */
function orlando_remove_normal_excerpt() {
    remove_meta_box( 'postexcerpt' , 'post' , 'normal' );
}
add_action( 'admin_menu' , 'orlando_remove_normal_excerpt' );

Auszug zurückholen

Jetzt den Auszug mit add_meta_box zurückholen und unter den Titel über den Editor setzen.

/**
 * Die Meta-Box für den Excerpt (Auszug) zurückholen
 * und unter den Titel über den Editor setzen
 *
 * @param  string $post_type
 * @return null
 */
function orlando_add_excerpt_meta_box( $post_type ) {
    if ( in_array( $post_type, array( 'post', 'page' ) ) ) {
        add_meta_box(
            'orlando_postexcerpt',     //id
            __( 'Auszug' ),            // title
            'post_excerpt_meta_box',   // callback
            $post_type,                // screen
            'after_title',             // context
            'high'                     // Priority
        );
    }
}

Position der Meta-Box – after_title

Der WordPress-Editor kann nicht wie eine Metabox versetzt werden, aber seit WordPress 3.5 gibt es edit_form_after_title und edit_form_after_editor, um Meta-Boxen entweder unter das Titel-Feld oder unter den Editor zu setzen.

/**
 * Den Auszug unter das Titel-Feld über dem Editor setzen
 *
 * @return null
 */
function orlando_run_after_title_meta_boxes() {
    global $post, $wp_meta_boxes;
    # Output the `below_title` meta boxes:
    do_meta_boxes( get_current_screen(), 'after_title', $post );
}
add_action( 'edit_form_after_title', 'orlando_run_after_title_meta_boxes' );
WordPress Auszug / Excerpt unter der Überschrift über dem Editor

br-Tags im Editor

Wird ein komplettes SVG-Element mit Zeilenumbrüchen in den WordPress-Editor gesetzt, hängt sich ein <br /> an jedes Ende jeder Zeile und macht das SVG-Element unbrauchbar.

Bei a.k.a. Elpie gibts eine Lösung: In die functions.php des Themes werden zwei Zeilen gesetzt, die den Filter für das Aufhübschen des Quellcodes und das Einfügen der <p>- und <br />-Tags stoppen.

// keine automatischen  <p>- und <br />-Tags mehr
remove_filter ('the_content', 'wpautop');
// kein automatisches Aufhübschen und Umbrechen des Quelltexts
remove_filter('the_content', 'wptexturize');

Wer sicher ist, dass er den visuellen Editor generell nicht benutzen will, kann auch unter Benutzer / Profil in den Persönlichen Optionen Beim Schreiben den visuellen Editor nicht benutzen aktivieren. Der reine Text-Editor setzt keine p- und br-Tags.

Größe des Felds für den Auszug

Per se ist der Auszug 50 px hoch, gerade mal Platz für zwei Zeilen. Für mehr Platz im Excerpt sorgen mal wieder ein paar Zeilen in der functions.php.

add_action( 'admin_head', 'excerpt_textarea_height');
function excerpt_textarea_height() {
    echo '<style>#excerpt{ height:100px; }</style>';
}

Gefunden auf WordPress tip: Increased height of the excerpt field