Der Artikeleditor in WordPress ist sicher ein zentrales Element. Täglich werden hunderte, ja tausende von Artikeln in dem kleinen Schreibfenster verfasst und veröffentlicht. Aber gerade bei etwas längeren Texten hat der Editor ein Manko, dass man relativ einfach beseitigen kann.
Schreibt man einen längeren Text und speichert zwischendrin mal (sicher ist bekanntlich sicher), dann „merkt“ WordPress sich die Position nicht und scrollt automatisch an den Anfang. Nun muss man wieder einigermaßen mühsam an die Stelle scrollen, an der man sich vor dem Speichern befand. Das ist lästig und kann mit folgendem Codeschnipsel (mal wieder ab damit in die functions.php) vermieden werden.
', esc_attr( $position ) );
// Print Javascript data
add_action( 'admin_print_footer_scripts', array( __CLASS__, 'print_js' ), 55 ); // Print after Editor JS.
}
/**
* Extend TinyMCE config with a setup function
*/
public static function extend_tiny_mce( $init ) {
if ( 'tinymce' == wp_default_editor() )
$init['setup'] = 'rich_scroll';
return $init;
}
/**
* Returns redirect url with query arg for scroll position
*/
public static function add_query_arg( $location ) {
if ( ! empty( $_POST['scrollto'] ) )
$location = add_query_arg( 'scrollto', (int) $_POST['scrollto'], $location );
return $location;
}
/**
* Prints Javascript data
*/
public static function print_js() {
?>
Soll ich noch mal erwähnen, dass man den Code natürlich auch in ein Plugin auslagern kann und vermutlich sogar sollte…?