jQuery / JavaScript w stopce
Jedną rzeczą, którą możesz zrobić, to przenieść jQuery do posta na blogu stopki . Domyślnie nie jest potrzebny w nagłówku. Będziesz musiał sprawdzić, czy wszystko nadal działa dobrze, ponieważ zwykle robię to tylko dla motywów:
<?php
/* Plugin Name: Move jQuery to the footer */
function( 'admin_enqueue_scripts', function( $hook )
{
$GLOBALS['wp_scripts']->add_data( 'jquery', 'group', 1 );
} );
Zapytania
Kolejną rzeczą, która przyspiesza ekrany tabeli listy wpisów, jest zmniejszenie liczby zapytanych pól. Zauważyłem ten problem jakiś czas temu, gdy te ekrany ładowały się zbyt wolno z powodu moich ustawień 999 postów. Pełny post na blogu tutaj - Plugin jako GitHub Gist .
<?php
/**
* Plugin Name: (WCM) Faster Admin Post Lists
* AuthorURL: http://unserkaiser.com
* License: MIT
*/
add_filter( 'posts_fields', 'wcm_limit_post_fields_cb', 0, 2 );
function wcm_limit_post_fields_cb( $fields, $query )
{
if (
! is_admin()
OR ! $query->is_main_query()
OR ( defined( 'DOING_AJAX' ) AND DOING_AJAX )
OR ( defined( 'DOING_CRON' ) AND DOING_CRON )
)
return $fields;
$p = $GLOBALS['wpdb']->posts;
return implode( ",", array(
"{$p}.ID",
"{$p}.post_date",
"{$p}.post_name",
"{$p}.post_title",
"{$p}.ping_status",
"{$p}.post_author",
"{$p}.post_password",
"{$p}.comment_status",
) );
}
Jeśli nie potrzebujesz wszystkich kolumn, możesz rozszerzyć powyższą wtyczkę, usuwając również zawartość niektórych kolumn.
add_filter( 'manage_edit-post_columns', function( $columns )
{
# @TODO Remove columns which you don't need
return $defaults;
} );
Deska rozdzielcza
Każdy użytkownik wchodzi do pulpitu nawigacyjnego - co jest prawdopodobnie najwolniejszą częścią interfejsu użytkownika administratora. Możesz dezaktywować niektóre niepotrzebne widżety zamiast po prostu je ukryć:
<?php
/** Plugin Name: Remove Dashboard Widgets */
add_action( 'wp_dashboard_setup', function()
{
remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );
remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_secondary', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' );
remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' );
} );
Dane wychodzące
Mogę tylko polecić użycie Snitcha przez Sergej Müller do monitorowania, jakie dane próbują opuścić instalację. Wtyczka pozwala ukryć wszystkie lub tylko określone połączenia, a także wskazać konkretne połączenia wewnętrzne, które są ukierunkowane na zadania, takie jak niepożądane zadania cron i podobne rzeczy. Możesz przejrzeć jego źródło przykładów, jeśli nie chcesz pełnego pakietu. Sergej zwykle pisze bardzo czytelny kod z dużym wykorzystaniem białych znaków.
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
wwp-config.php
. Również administrator WordPress wymieniaOpen Sans
i inne czcionki z Google. Możesz to również wyłączyć. To sprawia, że sekcja administracyjna ładowania jest trochę szybsza.