[WordPress] post_content con formato

Lo primero es saber de qué hablamos, post_content es la variable miembro de WP_Post que nos permite recoger el contenido de una entrada/página/CPT (post) en WordPress. Si simplemente hacemos esto:

$post = get_post( $post_ID );
$contenido = $post->post_content;

Nos encontraremos con el problema de que el texto que recogemos no está enriquecido, en ocasiones puede ser lo que busquemos, pero no siempre es así. ¿Cómo obtener el texto con formato? Sólo de hemos de aplicar el filtro the_content al contenido, entonces lo recogeremos con formato. read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 15 al 21 de septiembre de 2014

Quedan sólo dos días para el otoño y otra semana más os traigo el resumen de los mejores enlaces disponibles en la blogosfera hispana sobre Linux, software libre y WordPress. Aprovecho también para comentaros aunque lo haré en mayor profundidad con una entrada, que el 3 y el 4 de octubre es la WordPress Meetup Córdoba y que tenemos ya programa e inscripciones abiertas.

Volviendo a la lista de lo mejor de la semana:

El tamaño de las imágenes en la maquetación de una web es de lo más importante para conseguir el mejor efecto, otra alternativa más para manejarlo: Redimensionar imágenes de forma inteligente con jQuery – Kabytes El dibujo vectorial es la base de muchos diseños, existe una alternativa libre de calidad para esta labor, Inkscape y aquí tenéis el cómo se maneja: 

Aprende a usar Inkscape con los sencillos tutoriales de Olga Bikmullina – Ubuntizando el planeta read more

Leer más » 1 Comentario

Cómo eliminar la notificación de actualización de plugins de WooCommerce / WooThemes

Para los que manejáis WooCommerce es muy posible que no sólo utilicéis este metaplugin de WordPress para llevar a cabo ciertas tareas en vuestra tienda, sino que hagáis uso de otros plugins para añadir cierta funcionalidad. Por cierto, recordaros que WooCommerce es un plugin para montar tiendas sobre WordPress, y lo tenemos incluido en la lista de los mejores plugins para profesionales WordPress.

install_woothemes_woocommerce_linuxhispano

Pues bien, cuando hacemos uso de estas extensiones y son las propias de WooThemes (que el nombre no os confunda, esta empresa empezó haciendo temas y luego ya era tarde para cambiar el dominio raíz) nos aparece un mensaje bastante peleón que no podemos descartar (el clásico botón de “dismiss” para que no vuelva a aparecer no está) ¿Qué hacer? A mi personalmente no me gustan estos mensajes tan contaminantes, parece que nos estén obligando a realizar la acción, y ese tipo de checkers lo único que hacen es sobrecargar nuestra web de consultas a servidores externos nuestros. read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 8 al 14 de septiembre de 2014

Con septiembre acelera el movimiento en todo tipo de proyectos y parece que nuestros plugins liberados para WordPress siguen acelerando su número de descargas: Clean Login y Import users from CSV with meta. Mientras tanto, la blogosfera trae nuevas noticias y tutoriales y aquí hago un breve resumen de las mismas:

Porque me gusta navegar rápido y Chrome en ocasiones es algo pesado: Acelera Chrome moviendo su caché a la RAM de tu PC – Ubuntizando el planeta No soy nada simpatizante de Apple, sus productos y sus servicios, más razones para no tenerles mucho cariño:  Declaración de la FSF respecto al nuevo iPhone, Apple Pay, y Apple Watch – Desde Linux Pequeños consejos para conseguir grandes mejoras: 

CSS arriba, scripts abajo… y otras recomendaciones para optimizar la carga de páginas web – Genbeta Dev read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 1 al 7 de septiembre de 2014

Primera semana de septiembre. Queda ya menos de un mes para la WordPress Meetup Córdoba 2014 (3 y 4 de octubre) y podemos decir que ahora empieza una temporada fuerte de eventos y trabajo para los que nos dedicamos al software libre. Además de eventos y proyectos, también hay mucho contenido de interés como no podía ser de otra forma:

Si alguna vez has tenido que hacer diagramas UML para instituto, universidad o para un cliente, aquí te doy otra opción para que pruebes diferente a clásicos como DIA: Modelado UML en Linux – Desde Linux Si desarrollas algún proyecto de software libre, te interesa conocer GitHub a fondo, cómo es y cómo funciona: Empieza tu proyecto Open Source en las plataformas más conocidas. Github – Genbeta Dev De lo mejor de GNU/Linux es bash, aprende a usarlo y diviértete con algunos comandos curiosos que enseñar a tus amigos:

5 comandos curiosos de Linux para tu terminal – Ubuntizando el planeta read more

Leer más » 1 Comentario

Lo mejor de mi timeline del 31 de agosto al 6 de septiembre

Leer más » 1 Comentario

Lo mejor de mi RSS del 25 al 31 de agosto

Y llegó septiembre, bueno realmente mañana llega, pero esta semana será la vuelta de muchos (la mía ya fue la anterior) a la rutina y al día a día. La próxima gran parada será Navidades pero mientras tanto, para animaros nada mejor que leer noticias de interés sobre tecnologías libres:

Aunque soy profesional, fanático y usuario WordPress desde hace mucho en su día lo fui de Drupal y también hay que conocerlo para poder hablar con juicio, nada mejor que saber instalarlo para empezar a probarlo: Cómo instalar Drupal en Ubuntu 14.04 – Ubunlog El email marketing es importante (en el mundo del marketing online de hecho es quizás el método con más índice de conversión) y nada mejor que tener unas buenas plantillas para poder conseguir un aspecto genial en diferentes dispositivos: Plantillas para emails transaccionales en HTML – Kabytes Porque se puede hacer mucho con muy poco (en el caso de Linux) es increíble lo que puede llegar a “caber” en sólo 300MB de distribución: 

Porteus: impresionante distribución Linux portable (-300 mb) – Desde Linux read more

Leer más » 1 Comentario

Lo mejor de mi timeline del 24 al 30 de agosto

Leer más » 1 Comentario

wp_kses() o cómo limpiar cadenas HTML en WordPress para evitar ataques XSS

Cuando desarrollo plugins y themes para WordPress en CODECTION siempre procuro mirar por la seguridad, “sanitizando” variables tanto para evitar ataques vía inyección SQL como para evitar ataques XSS. Es muy frecuente, que si recibes peticiones y luego las devuelves por pantalla, las variables que manejes, si las maneja el usuario de alguna manera, puedan terminar siendo el origen de una ataque XSS.

Algo tan sencillo como pasar una etiqueta script o iframe en un sitio conveniente y además de un ataque XSS, eres una fuente de phising para el resto de la red. Por fortuna, WordPress facilita mucho la vida al desarrollador al respecto y para evitar este tipo de ataques nos ofrece una función que además es extensible en su funcionamiento vía parámetros.

La función en cuestión es wp_kses() y aunque es similar a strip_tags(), una función nativa de PHP, suele recomendarse para cuestiones de seguridad.

wp_kses-vs-strip_tags

¿Para qué usamos wp_kses?

Básicamente deciros que sirve para limpiar una cadena de elementos HTML indeseados (imaginad otros usos que no sea el de seguridad, se me viene a la cabeza un uso de “limpieza” de una cadena proveniente de Microsft Word o LibreOffice Write).

Tiene esta forma:

wp_kses($string, $allowed_html, $allowed_protocols);

Y los parámetros que recibe indican exactamente:

  • $string: cadena a filtrar
  • $allowed_html: etiquetas HTML que se permitirán y que no se limpiaran
  • $allowed_protocols: protocolos permitidos, por defecto vienen unos pocos y siempre se asegura que no va a permitirse etiquetas ni invocaciones a ficheros JavaScript

La función devolverá el código HTML totalmente limpiado.

El segundo parámetro es interesante, porque podemos definir también qué atributos pasarán de cada etiqueta, un ejemplo curioso:

array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
);

Ejemplo

El ejemplo es original de Simon Wheatly. Tenemos de entrada:

Wisi <a href=”#” style=”color: red;”>defui nunc</a> dignissim <strong class=”weird”>transverbero ideo vel</strong> utinam blandit, iaceo meus epulae enim amet nibh sed brevitas. Pala consequat <script type=”text/javascript” src=”http://example.com/certainly/do/not/want/this.js”></script> capio sino regula typicus <small>luptatum</small> olim ullamcorper uxor in verto.

Vamos a dejar sólo:

  • La etiqueta ‘a’ y sus atributos ‘href’, ‘title’ y ‘target’
  • Y las etiquetas ’em’ y ‘strong’ => array()

El código sería este:

$entrada = 'Wisi <a href="#" style="color: red;">defui nunc</a> dignissim <strong class="weird">transverbero ideo vel</strong> utinam blandit, iaceo meus epulae enim amet nibh sed brevitas. Pala consequat <script type="text/javascript" src="http://example.com/certainly/do/not/want/this.js"></script> capio sino regula typicus <small>luptatum</small> olim ullamcorper uxor in verto.'; $etiquetas_permitidas = array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ), 'em' => array(), 'strong' => array(), ); $salida= wp_kses( $entrada, $etiquetas_permitidas ); echo $salida; read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 18 al 24 de agosto de 2014

La semana pasada estuve de vacaciones, así que ni pude leer apenas el RSS ni pude escribir esta entrada, por lo que no pude escribirla como de costumbre. Esta semana estoy de vuelta, así que ya va tocando este resumen de lo mejor de la red sobre temas relacionados con la tecnología libre:

La información almacenada en los discos duros es valiosa y por su propia tecnología, ya sea rígido o de estado sólido, todos son susceptibles de tener problemas de pérdida de datos: Reparar sectores y recuperar un disco duro (HDD) en Linux – Desde Linux Porque a muchos de vosotros os gustará tener un blog, no está mal aprender a monetizarlo: Convierte tu blog en un activo digital que vale miles de euros – Marketing de guerrilla Una gran herramienta para escanear la seguridad de los WordPress (que existan herramientas de este tipo es una diferencia importante y a favor de WordPress respecto a otros sistemas como Drupal o Joomla!):

WPScan, una magnífica herramienta de seguridad para auditar WordPress – Blog de David Rabáez read more

Leer más » 1 Comentario