filtros en wordpress - Carlos González Gurrea

La importancia de los filtros

Y como dice mi título, la importancia que tienen en la vida los filtros, filtros para todo, para limpiar. Filtro de personas, filtro de partículas, filtro de ….. , bueno un montón de filtros.

Hoy vengo a hablaros de los filtros de WordPress, no filtros de búsqueda sino filtros con los que podemos modificar parte del contenido que se visualiza en nuestro WordPress, y darle un aire nuevo.

La función en si se llama add_filter, con esta función podemos modificar elementos en tiempo de ejecución, ¿para qué quiero esto?, Imaginaros que quiero añadir un tag nuevo a mis imágenes o añadirle un elemento para luego poder usarlo con un jquery y así poderle trabajar con él, pues para todo esto podríamos usar los filtros.

Su función es la siguiente:

add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )

Que significa esto

  1. $tag es el nombre del filtro al que estamos vinculando
  2. $function_to_add es el nombre de la función que debería ser invocada al ejecutar el filtro
  3. $priority, la prioridad con la cual la función debería ser llamada
  4. $accepted_args son el número de argumentos que la función acepta

Os pongo un ejemplo de su web oficial, como veis podemos cambiar el tamaño del excerpt con un simple filtro, bastaría copiar esto en el functions.php.  Siempre os hablo del archivo functions pero todas estas funciones las podríamos añadir en un plugin creado por nosotros, así si se actualiza la plantilla el functions.php no habría que tocarlo.

if( ! function_exists( 'prefix_custom_excerpt_length' ) )
{
    function prefix_custom_excerpt_length( $length )
    {
        return 40;
    }
}
add_filter( 'excerpt_length', 'prefix_custom_excerpt_length', 999 );

Os pongo otro filtro muy interesantes, en WordPress en muchas ocasiones metemos videos embebidos, pues bien esto suele dar problemas con el responsive de la página. Este truco sigue funcionando después de 5 años sigue funcionando. Me parece increíble. Podéis ver el post original aquí

En vuestro functions.php

add_filter('embed_oembed_html', 'my_embed_oembed_html', 99, 4);
function my_embed_oembed_html($html, $url, $attr, $post_id) {
    return '<div class="video-container">' . $html . '</div>'; 
}

En los estilos de vuestro template :

.video-container {
	position: relative;
	padding-bottom: 50px;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

Y para terminar este post. Os dejo unos filtros que he ido recapitulando.

Añadir un target a todos los enlaces

function link_to_blank($text) {
	$return = str_replace('<a', '<a target="_blank"', $text);
	return $return;
}
add_filter('the_content', 'link_to_blank');

Convertir ciertas palabras a enlaces

function replace_string($text){
     $replace = array(
                      'carlosgonzalezgurrea' =&gt; '<a href="https://www.carlosgonzalezgurrea.es">carlosgonzalezgurrea</a>'
     );
     $text = str_replace(array_keys($replace), $replace, $text);
     return $text;
}

add_filter('the_content', 'replace_string');
add_filter('the_excerpt', 'replace_string');

Ya os iré añadiendo más filtros personalizados, si queréis que os ayude con alguno, ya sabéis contactar conmigo por redes sociales o por el formulario de la página
Salud@s

La importancia de los filtros Modificado: mayo 22nd, 2018 por Carlos González Gurrea
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando...

Centro de preferencias de privacidad

    Almacenamiento y acceso a información

    El almacenamiento de información o el acceso a información ya almacenada en tu dispositivo como identificadores de publicidad, identificadores de dispositivo, cookies y tecnologías similares.

    google.com

    Personalización

    La recopilación y procesado de información sobre tu uso de este servicio para posteriormente personalizar la publicidad y/o el contenido para ti en otros contextos, como otras webs o apps, con el tiempo. Habitualmente el contenido de la web o la app se usa para hacer deducciones sobre lo que te interesa, lo que define la selección futura de publicidad y/o contenido.

    google.com

    Selección de anuncios, entrega, informes

    La recopilación de información y la combinación con información anteriormente recopilada para seleccionar y presentarte publicidad y para medir la entrega y efectividad de esa publicidad. Esto incluye usar información recopilada anteriormente sobre tus intereses para seleccionar anuncios, procesar datos sobre qué anuncios se mostraron, con qué frecuencia se mostraron, cuando y dónde se mostraron y si llevaste a cabo alguna acción relacionada con el anuncio, como por ejemplo hacer clic en un anuncio o hacer una compra. Esto no incluye la personalización, que es la recopilación y procesado de información sobre el uso que haces de este servicio para posteriormente personalizar publicidad y/o otros contenidos para ti en otros contextos, como webs o apps, con el tiempo.

    google.com

    Selecciones de contenido, entrega, informes

    La recopilación de información y combinación con información previamente recopilada para seleccionar y presentarte contenido y para medir la entrega y efectividad de ese contenido. Esto incluye el uso de información recopilada anteriormente sobre tus intereses para seleccionar contenido, procesar datos sobre qué contenido se mostró, con qué frecuencia o durante cuánto tiempo se mostró, dónde y cuándo se mostró y si llevaste a cabo alguna acción relacionada con el contenido, como por ejemplo hacer clic en contenido. Esto no incluye la personalización, que es la recopilación y procesado de información sobre el uso que haces de este servicio para posteriormente personalizar contenido y/o publicidad para ti en otros contextos, como webs o apps, con el tiempo.

    google.com