7 códigos de WordPress para personalizar tu plantilla

Como ya sabéis, cambiar la apariencia de un WordPress es una tarea extremadamente sencilla gracias a las plantillas. Hay un montón de themes de WordPress disponibles en la red, tanto de forma gratuita como de pago. Solo tienes que comprarlo, instalarlo y tu sitio web lucirá de manera totalmente distinta en cuestión de minutos. Si, además, quieres personalizarlo, puedes modificarla mediante códigos de WordPress.

Pero más allá de la apariencia, una plantilla de WordPress puede contar con muchas más características. Puedes llevar a cabo nuevas funcionalidades mediante los plugins de WordPress, pero en este post, te mostraremos funciones que pueden ser muy útiles para tu plantilla. Solo debes insertar estos códigos de WordPress en el archivo functions.php de tu theme para realizar el cambio. ¿Estás preparado? ¡Pues vamos allá!

Cambiar la longitud del excerpt (extracto)

Un excerpt, también llamado extracto, es un pequeño resumen de tu post que, por norma general, se muestra en los listados de posts como breve avanzadilla del contenido del mismo. En WordPress, la longitud del excerpt por defecto es de 55 palabras. Pero el CMS te permite personalizar este valor por defecto a través del filtro excerpt_length, tal que así:

function my_excerpt_length( $length ) {
   return 30;
}
add_filter( ‘excerpt_length’, ‘my_excerpt_length’, 999 );

Logicamente, el valor del return será el número de palabras por las que queremos limitar nuestro excerpt. En el ejemplo de más arriba, solamente mostramos 30 palabras en cada excerpt.

Reducir las revisiones de los posts

WordPress permite a sus redactores y bloggers volver a versiones anteriores de sus trabajos. Sin embargo, si estas revisiones crecen en número, afectarán al rendimiento del sitio web ya que, cada una de las revisiones, es considerada como un post independiente dentro de la base de datos. Esto solo empeorará con el tiempo.

Para solucionar este entuerto, puedes configurar cuántas revisiones puedes guardar en la base de datos por cada post. Para ello, abre el fichero wp-config.php y añade este código abajo del todo. Cambia el número dependiendo de las revisiones que quieras albergar en la base de datos.

define(‘WP_POST_REVISIONS’, 5);

Si no quieres guardar revisiones de tus artículos (cosa que en WPDirecto no te recomendamos), cambia el valor numérico a false, de esta manera:

define(‘WP_POST_REVISIONS’, false);

Códigos de WordPress
Fuente: pixabay.com

Establecer automáticamente la imagen destacada de un post

Es una práctica común mostrar una imagen destacada que represente o describa un artículo. WordPress nos pide que establezcamos esta imagen manualmente. Para hacer que el proceso sea más eficiente, podemos poner como imagen destacada la primera imagen de nuestro artículo de manera automática, para que no nos tengamos que preocupar por nada. Para ello, utiliza el siguiente código de la lista de códigos de WordPress que hemos publicado en este artículo.

function autoset_featured() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
    if (!$already_has_thumb)  {
    $attached_image = get_children( “post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1” );
        if ($attached_image) {
            foreach ($attached_image as $attachment_id => $attachment) {
                set_post_thumbnail($post->ID, $attachment_id);
            }
        }
     }
}
add_action(‘the_post’, ‘autoset_featured’);
add_action(‘save_post’, ‘autoset_featured’);
add_action(‘draft_to_publish’, ‘autoset_featured’);
add_action(‘new_to_publish’, ‘autoset_featured’);
add_action(‘pending_to_publish’, ‘autoset_featured’);
add_action(‘future_to_publish’, ‘autoset_featured’);

Forzar una longitud mínima en los comentarios

No soy muy fan de los comentarios del tipo “¡Buen post!”, “Bien explicado”… Aunque este tipo de comentarios no son considerados como comentarios spam, son comentarios que no suelen alentar nuevos debates en la caja de comentarios de nuestro artículo. Si deseas que tus posts sean muy comentados, puedes utilizar uno de los códigos de WordPress que sirve para forzar a que el sistema requiera una longitud mínima de palabras para publicar un comentario. Si quieres llevarlo a cabo en tu WordPress, pon este código al final de tu fichero functions.php.

function minimal_comment_length( $commentdata ) {
    $minimalCommentLength = 20;
    if ( strlen( trim( $commentdata[‘comment_content’] ) ) < $minimalCommentLength ){
        wp_die( ‘Todos los comentarios deben tener un mínimo de ‘ . $minimalCommentLength . ‘ caracteres.’ );
    }
    return $commentdata;
}
add_filter( ‘preprocess_comment’, ‘minimal_comment_length’ );

La variable $minimalCommentLength contendrá el número mínimo de caracteres requeridos para que se publique el comentario. Lógicamente, puedes darle el valor que desees.

Códigos de WordPress
Fuente: pixabay.com

Desactivar enlaces en los comentarios

Las urls que se incluyen en los comentarios arrojados por nuestros usuarios se convierten inmediatamente en enlaces, a la espera de que se aprueben y se publiquen. Esto puede ser aprovechado por los spammers, dando pie a que tu sección de comentarios sea un nido de publicidad de los más indecentes productos y servicios.

Para contrarrestrar esto, puedes añadir este filtro para capar la capacidad de hacer clic en los enlaces de los comentarios, y mostrarlos solo como texto plano.

remove_filter(‘comment_text’, ‘make_clickable’, 9);

Eliminar la clase y los IDs de los menús personalizados

Si echas un vistazo a un menú personalizado en WordPress, encontrarás un montón de clases e ids en cada elemento de dicho menú. Usa el código de WordPress de más abajo para eliminar las clases que no quieras mantener en los elementos del menú.

function my_css_attributes_filter($var) {
    return is_array($var) ? array_intersect($var, array(‘current-menu-item’)) : ”;
}
add_filter(‘nav_menu_css_class’, ‘my_css_attributes_filter’, 100, 1);
add_filter(‘nav_menu_item_id’, ‘my_css_attributes_filter’, 100, 1);
add_filter(‘page_css_class’, ‘my_css_attributes_filter’, 100, 1);

En el código de arriba hemos mantenido la clase current-menu-item

Códigos de WordPress
Fuente: pixabay.com

Excluir las páginas de las búsquedas

Al realizar una búsqueda en WordPress arrojará resultados tanto de páginas como de posts, a veces sin mucha relevancia para la consulta que pretendías encontrar. Para evitar esto, puedes filtrar los resultados de búsqueda para mostrar solo los posts. Añade este código al final del functions.php para llevarlo a cabo.

function SearchFilter($query) {
    if ($query->is_search) {
        $query->set(‘post_type’, ‘post’);
    }
    return $query;
}
add_filter(‘pre_get_posts’,’SearchFilter’);

Y eso es todo, espero que estos códigos de WordPress te hayan gustado y que, sobretodo, sepas aplicarlos en tus proyectos personales. Este artículo no hubiera sido posible sin el original de la web Hongkiat.

 

2 Comentarios

  1. El código para limitar las revisiones hace unos meses que no me funciona. La verdad es que es inútil acumularse con 20/20 y tantas revisiones y tenerle que pasar el plugin WP-Optimize para hacer limpieza.

Dejar respuesta

Please enter your comment!
Please enter your name here