Importancia y algunos usos del archivo functions de WordPress

Archivo functions.php de Wordpress

Importancia del archivo  functions en la instalación de WordPress.

El archivo functions.php es de los más importantes archivos en cualquier instalación de WordPress.

Puede controlar gran parte de la funcionalidad y el comportamiento de su sitio web. Sin embargo, los principiantes a menudo no entienden qué hace el archivo y para qué pueden usarlo.

A continuación, aprenderá qué es el archivo functions.php, dónde encontrarlo y qué puede hacer.

Después de eso, hablaremos sobre las ventajas y desventajas de dicho archivo y os mostrarė algunos fragmentos de código que puedes ingresar en functions.php para mejorar tu sitio web de WordPress.

¿Empezamos?

¿Qué es functions.php y qué hace?

El archivo functions.php es parte de casi todas las instalaciones de WordPress.

Generalmente puede encontrarlo en el directorio de cada tema instalado en su sitio (incluidos los temas secundarios).

Entonces, ¿qué hace este archivo?

El archivo functions.php es como un complemento dependiente del tema.

Puede usarlo para agregar cualquier tipo de funcionalidad a su sitio (como lo hacen los plugins).

Sin embargo, dado que functions.php es parte de tu Theme, tus cambios solo estarán activos en ese mismo Theme, mientras que los plugins funcionan sin importar qué Theme estés usando.

Para hacer su trabajo, functions.php puede contener código PHP así como funciones nativas de WordPress.

Si sabe cómo evitar los enganches de temas, ¡incluso puede usar functions.php para crear sus propios enganches!

Debido a que puede contener todos los tipos de fragmentos de código, el archivo de funciones es muy poderoso.

Sin embargo, ya sabes lo que dijo el tío Ben: «un gran poder conlleva una gran responsabilidad».

Por esa razón, vamos a discutir a continuación cuándo usar functions.php y cuándo no.

 

Pros y Contras de el uso del archivo «functions.php» de WordPress

Entonces, sabemo que functions.php básicamente funciona como un plugin.

Sin embargo, no solo hace una cosa específica.

En su lugar, el archivo puede ser una colección de código para muchos propósitos diferentes.

Por ejemplo:

  • Creación de áreas de widgets
  • Agregando nuevos tamaños de imagen a su sitio
  • Cambiando el texto del enlace ‘leer más’
  • Añadiendo fuentes personalizadas
  • …y muchos otros…

Como puedes ver, el archivo es extremadamente flexible.

Por esa razón, si desea realizar pequeños cambios en su sitio, el archivo de WordPress functions.php es la manera perfecta de lograrlo.

Por otro lado, también tiene sus límites.

En primer lugar, si hay algún pequeño error en el archivo (como la falta de un punto y coma), puede acabar generar un error que imposibilitará el funcionamiento de nuestro Theme mostrando el típico error de WordPress.

Crea siempre tus copias de seguridad antes de embarcarte a tocar esos archivos.

Además, si es la única forma de realizar cambios en su sitio, el archivo puede volverse rápidamente caótico.

Si alguna vez cambia los temas de WordPress, perderá todos los cambios en su archivo functions.php.

Hay plugins que permiten añadir código a nuestro archivo functions.php y protegerlo de actualizaciones o cambio de Theme, pero lo mejor, sin duda, es crearte un TEMA HIJO de WordPress.

En esta entrada te explico cómo hacerlo y cómo funciona

 

Ejemplos de funciones que puede utilizar en su sitio.

Bien, ahora que sabes todo acerca de este importante archivo, puedes comenzar a usarlo.

A continuación, encontrará algunos fragmentos de código que puede copiar y pegar en el archivo de funciones de su tema (con personalizaciones específicas del sitio, por supuesto).

La mejor manera de usarlos es pegarlos al final de su archivo functions.php.

 

1. Agrega Google Analytics a tu Web.

Agregar Google Analytics a su sitio siempre es una buena idea.

Te ayudará a comprender mejor a su audiencia y a rastrear su comportamiento en tu sitio para que pueda mejorarlo.

Por lo general, incluiría Google Analytics en su sitio a través de un plugin, sin embargo, también es posible hacerlo manualmente a través del archivo functions.php.

Esto es lo que parece:

function add_googleanalytics() { ?>			
<script async src="https://www.googletagmanager.com/gtag/js?id=XX-XXXXXXXX-X"></script>	

<script>	 
window.dataLayer = window.dataLayer || [];	 
function gtag(){dataLayer.push(arguments);}	 
gtag('js', new Date());	 gtag('config', 'XX-XXXXXXXX-X');	
</script> <?php}

add_action('wp_head', 'add_googleanalytics');

Para hacer que el fragmento de código funcione, debe reemplazar todo entre

<script async … y el final </script> 

con su propio código de seguimiento de Google Analytics.

 

2. Ocultar errores específicos de inicio de sesión de WordPress

Cuando alguien intenta iniciar sesión en su sitio con información errónea, WordPress le dirá a esa persona si el problema es un nombre de usuario no válido o una contraseña no válida:

Desafortunadamente, esto puede hacer que sea más fácil para los hackers ingresar a su sitio. Por esa razón, puede usar el fragmento de código a continuación para cambiar el mensaje de error a algo menos revelador.

function obscure_login_errors(){ 
return "...";
}

add_filter( 'login_errors', 'obscure_login_errors' );

 

Simplemente cambie el texto entre «…» a lo que quiera que diga el mensaje.

 

3. Muestra el número de palabras en un artículo.

A veces es útil mostrar el número de palabras en tus publicaciones.

De esa manera, los visitantes tienen la oportunidad de decidir si desean invertir su tiempo en todo el artículo o no.

Primero, agregue lo siguiente a su archivo functions.php:

function word_count() { 
$content = get_post_field( 'post_content', $post->ID ); 
$word_count = str_word_count( strip_tags( $content ) ); 
return $word_count;
}

 

El código anterior elimina las etiquetas HTML de su contenido y luego cuenta las palabras restantes.

Después de eso, necesitas agregar echo word_count (); donde quieras que aparezca la cantidad de palabras.

Por ejemplo, agregué la siguiente línea a la sección meta de la entrada de mi plantilla de publicación.

echo '<div class="word-count">Esta entrada contiene ' . word_count() . ' palabras.</div>';

En el código anterior, envolví el número de palabras en una sección de HTML (para cambiar su apariencia si fuera necesario) y agregué algo de texto a su alrededor.

El número real se muestra donde dice word_count ().

El comando echo simplemente le dice al navegador que muestre todo en la página.

Después de eso, busqué en mi tema hijo (es importante que uses un tema hijo) el archivo que es responsable de mostrar las publicaciones en mi sitio.

En Twenty Seventeen, eso es content.php, que se encuentra en la carpeta del tema en template-parts> post.

Sin embargo, probablemente será diferente en el tuyo.

Para saber qué archivo de plantilla está usando su Theme, puede instalar el plugin What The File.

Mostrará qué partes de archivo y plantilla se utilizan para mostrar la página o publicación en la que se encuentra actualmente.

Finalmente, simplemente localicé la sección entrada-meta en mi archivo y pegué el código justo antes de que se cierre la sección.

En Twenty Seventeen, eso termina pareciéndose a esto:

echo '<div class="entry-meta">';	
if ( is_single() ) {		
twentyseventeen_posted_on();	
} else {		
echo twentyseventeen_time_link();		
twentyseventeen_edit_link();	};
echo '<div id="word-count">This post contains ' . word_count() . ' words.</div>';
echo '</div><!-- .entry-meta -->'

 

4. Añadir tiempo estimado de lectura a las publicaciones.

En lugar de mostrar el recuento de palabras, también puede ir un paso más allá y mostrar el tiempo de lectura estimado.

Para hacer esto, solo necesitas agregar un código extra al ejemplo anterior:

function reading_time() { 
$content = get_post_field( 'post_content', $post->ID ); 
$word_count = str_word_count( strip_tags( $content ) ); 
$readingtime = ceil($word_count / 200); 
if ($readingtime == 1) { $timer = " minute"; 
} else { 
$timer = " minutes"; } 

$totalreadingtime = $readingtime . $timer; return $totalreadingtime; 
}

 

Lo que hace este fragmento  es tomar el número de palabras y dividirlo por una velocidad de lectura de 200 palabras por minuto (eso sucede cuando dice $ word_count / 200, simplemente cambie este número si cree que sus lectores podrían ser más lentos o más rápidos) ).

A continuación, muestra los resultados con minutos o minutos al final.

Puede agregarlo a su sitio de la misma manera que el recuento de palabras en el último ejemplo.

La única diferencia es que reemplaza word_count () con reading_time () en su código. Así es como lo hice:

echo '<div id="reading-time">This post will take you about ' . reading_time() . ' to read.</div>';

El resultado final, añadiendo éstos dos últimos códigos sería algo como ésto:

cuenta palabras y tiempo de lectura

 


 

 

 

5. Retrasar las publicaciones de ser enviado a RSS

Nuestro último ejemplo es una forma de evitar que las publicaciones vayan inmediatamente a su fuente RSS cuando pulse Publicar.

Puede ser una buena idea, porque le da tiempo para corregir los errores tipográficos que sólo ve una vez que ya ha enviado la publicación al mundo.

Mientras estés en tu sitio, podrás cambiar cualquier error, pero una vez que tu publicación esté en RSS, ya no!

Usa el fragmento de abajo para evitar que esto suceda.

function delay_rss_feed($where) { 	
global $wpdb; 
if ( is_feed() ) { 
$now = gmdate('Y-m-d H:i:s'); 
$wait = '10'; 
$device = 'MINUTE'; 
$where.= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; 
} 
return $where;
} 

add_filter('posts_where', 'delay_rss_feed');

 

En este ejemplo, la cantidad de minutos que se retrasa la publicación (la parte después de $wait) se establece en 10.

No dude en cambiarlo a cualquier momento que considere apropiado.

Resumiendo

El archivo WordPress functions.php es una herramienta poderosa para realizar cambios en su sitio web. Si sabe cómo utilizarlo, hay poco que no puedas hacer.

A partir de aquí, depende de tí ver lo que necesitas en tu sitio y cómo hacerlo.

El archivo de funciones te ayudará a lograrlo.

¡Espero tus comentarios!

Compartir esta entrada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CAPTCHA ImageChange Image