Aunque WordPress es un CMS poderoso, hay algunas cosas molestas que me gustaría desactivar por defecto. Por ejemplo, no veo la razón por la que los comentarios deberían estar habilitados de forma predeterminada.
Pero quizás, lo mejor de todo, es que todos estos trucos de WordPress, o Hacks como le gustan nombrar algunos, lo haremos sin plugins y sin complejidades toqueteando código. Por lo que, antes de comenzar, debes saber que debes agregar todos los fragmentos de código aquí abajo, ya sea al archivo functions.php de tu plantilla de WordPress, o mejor aún, agrégalo con el plugin ‘Fragmentos de código’ (Code Snippets).
¿Será dificil?
Solo es copiar y pegar. 😉
Deshabilitar los comentarios de WordPress sin plugins.
Empezamos con uno de los trucos de WordPress que quizá muchos lo vengan buscando.
En lugar de usar un plugin de Deshabilitar comentarios (o similar), puede deshacerte del área de comentarios usando este fragmento aquí.
// Deshabilitar comentarios
function __disable_feature($data) { return false; }
add_filter('comments_number', '__disable_feature');
add_filter('comments_open', '__disable_feature');
Quitar emojis
Los emojis son divertidos, sí, pero debes saber que añade peso a la carga de la web. Pero, dado que están activados de forma predeterminada, cada vez que carga una página, se carga un script de emoji.
Por lo tanto, puedes eliminar la secuencia de comandos emoji para reducir el tamaño de carga de la página y las solicitudes. Uno de los trucos de wordpress que siempre uso, salvo que un cliente me lo pida, claro está.
// Eliminar Emojis
add_action( 'init', 'generate_disable_wp_emojicons' );
function generate_disable_wp_emojicons()
{
// all actions related to emojis
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
}
Anular el registro innecesario de widgets de WordPress
Éste es otro de los trucos de WordPress que va de optimizar la carga de tu sitio (WPO).
El área de Widgets de WordPress está cargada con todo tipo de widgets que el 95% de los usuarios no necesitarán. Tomemos como ejemplo los widgets de archivo o calendario. ¿En serio que los usas?
Con este pequeño fragmento de código puedes eliminar estos widgets que no necesitas y despejar tu área de widgets.
// Unregister widgets
function unregister_default_widgets() {
unregister_widget('WP_Widget_Pages');
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Archives');
unregister_widget('WP_Widget_Links');
unregister_widget('WP_Widget_Meta');
unregister_widget('WP_Widget_Categories');
unregister_widget('WP_Widget_RSS');
unregister_widget('WP_Widget_Media_Audio');
unregister_widget('WP_Widget_Media_Video');
unregister_widget( 'WP_Widget_Tag_Cloud' );
}
add_action('widgets_init', 'unregister_default_widgets', 11);
Eliminar widgets del panel de WordPress
Sí, correcto, este es otro de los trucos de WordPress de WPO (Optimización de WordPress).
Ahora modifiquemos un tablero de WordPress que también está lleno de widgets innecesarios.
Copia y pega este código y elimina los widgets del tablero de WordPress que no necesitas.
function remove_widgets() {
remove_meta_box( 'dashboard_primary','dashboard','side' ); // WordPress.com Blog
remove_meta_box( 'dashboard_plugins','dashboard','normal' ); // Plugins
remove_meta_box( 'dashboard_right_now','dashboard', 'normal' ); // Right Now
remove_action( 'welcome_panel','wp_welcome_panel' ); // Welcome Panel
remove_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel'); // Try Gutenberg
remove_meta_box('dashboard_quick_press','dashboard','side'); // Quick Press widget
remove_meta_box('dashboard_recent_drafts','dashboard','side'); // Recent Drafts
remove_meta_box('dashboard_secondary','dashboard','side'); // Other WordPress News
remove_meta_box('dashboard_incoming_links','dashboard','normal'); //Incoming Links
remove_meta_box('rg_forms_dashboard','dashboard','normal'); // Gravity Forms
remove_meta_box('dashboard_recent_comments','dashboard','normal'); // Recent Comments
remove_meta_box('icl_dashboard_widget','dashboard','normal'); // Multi Language Plugin
remove_meta_box('dashboard_activity','dashboard', 'normal'); // Activity
remove_meta_box('dashboard_site_health', 'dashboard', 'normal'); // Site health
remove_meta_box( 'e-dashboard-overview', 'dashboard', 'normal'); // Elementor
}
add_action( 'wp_dashboard_setup', 'remove_widgets' );
Agrega la columna del tamaño de archivo en WordPress Media
Para trucos de wordpress de los buenos, este. Me encanta y muy útil.
Como dice el encabezado, este fragmento de código agrega una columna de información que te dice el tamaño del archivo para que puedas ver qué tan grandes son los archivos cargados sin la necesidad de abrir uno a uno cada archivo.
add_filter( 'manage_media_columns', 'sk_media_columns_filesize' );
/**
* Filter the Media list table columns to add a File Size column.
*
* @param array $posts_columns Existing array of columns displayed in the Media list table.
* @return array Amended array of columns to be displayed in the Media list table.
*/
function sk_media_columns_filesize( $posts_columns ) {
$posts_columns['filesize'] = __( 'File size', 'my-theme-text-domain' );
return $posts_columns;
}
add_action( 'manage_media_custom_column', 'sk_media_custom_column_filesize', 10, 2 );
/**
* Display File Size custom column in the Media list table.
*
* @param string $column_name Name of the custom column.
* @param int $post_id Current Attachment ID.
*/
function sk_media_custom_column_filesize( $column_name, $post_id ) {
if ( 'filesize' !== $column_name ) {
return;
}
$bytes = filesize( get_attached_file( $post_id ) );
echo size_format( $bytes, 2 );
}
add_action( 'admin_print_styles-upload.php', 'sk_filesize_column_filesize' );
/**
* Adjust File Size column on Media Library page in WP admin
*/
function sk_filesize_column_filesize() {
echo
'<style>
.fixed .column-filesize {
width: 10%;
}
</style>';
}
Si estás utilizando bloques reutilizables, necesitas un acceso directo a ellos.
Aquí está el fragmento de código que agrega un menú de Bloques reutilizables a la barra lateral de administración de WordPress.
function reusable_blocks_menu() {
add_menu_page( 'Reusable Blocks', 'Reusable Blocks', 'edit_posts', 'edit.php?post_type=wp_block', '', 'dashicons-editor-table', 10 );
}
add_action( 'admin_menu', 'reusable_blocks_menu' );
Deshabilita las notificaciones de correo electrónico de actualización automática de WordPress para plugins y plantillas
Desde WordPress 5.5 hay una función ingeniosa que te permite activar actualizaciones automáticas para plantillas y plugins.
Si lo haces, te sorprenderás de la cantidad de correos electrónicos de «Su plugin se actualizó» que recibes semanalmente.
Por lo tanto, si esto te molesta como me molesta a mí, entonces usa este fragmento aquí abajo para desactivar esos correos electrónicos.
// Disable auto-update email notifications for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );
// Disable auto-update email notifications for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );
Hemos visto algunos trucos de WordPress relacionados con el WPO (Optimización de WordPress), por eso quiero darte uno más para la carga rápida.
Pero en este caso, la compresión GZIP debe estar habilitada en tu servidor web y añadir el siguiente código al archivo .htaccess y no desde code snippets como los anteriores.
## LEVERAGE BROWSER CACHING ##
Header unset Pragma
FileETag None
Header unset ETag
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 week"
ExpiresByType text/html "access 0 seconds"
ExpiresByType text/xml "access 0 seconds
ExpiresByType text/json "access 0 seconds
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## END LEVERAGE BROWSER CACHING ##
# GZIP COMPRESSION
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
# END GZIP COMPRESSION
Mis herramientas favoritas de WordPress.
Gracias por leer este artículo. Espero que lo hayas encontrado útil a medida. Aquí hay algunas herramientas que utilizo como desarrollador y entusiasta de WordPress que espero que también te resulten útiles.
Estos son enlaces de afiliados, así que si decides usar alguno de ellos, ganaré una comisión y esto me ayudará a crear estos tutoriales y hacer videos de Youtube. Pero con toda honestidad, estas son las herramientas exactas que uso y recomiendo a todos, incluso a mis clientes, alumnos, amigos y familiares.
Hosting: Si deseas tener un alojamiento en la nube administrado realmente rápido y fácil de usar, profesional y con un soporte de lujo, te recomiendo LucusHost. (mira mi reseña aquí).
Desde este enlace podrás conseguir un 20% de descuento.
LMS: ¿Quieres montar tus propios cursos online en WordPress? Te sugiero Learndhash.
Orderable: Toma pedidos de restaurantes online. El plugin de WooCommerce diseñado para ayudarte a administrar tu restaurante.
Iconic: Impulsador de ventas para WooCommerce. Un conjunto de plugins para WooCommerce que potenciará tus ventas, como habilitar opciones de diseño personalizables para tus productos, agregar limites a cantidad de reservas y restricciones de tiempo a métodos de entrega específicos, swatches personalizados para atributos y un sinfín de opciones.
Membresía: Si quieres hacer una web de membresía, Memberdash es una de las opciones más flexibles.