Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo actualizar WordPress, instalar plugins o themes en localhost automáticamente

Imago voragine.net
• Por
WordPress se puede actualizar de dos maneras: automáticamente mediante el botón Actualizar del panel de administración, o sustituyendo los antiguos archivos por los nuevos vía FTP. Hay veces que usando el primer método, WordPress nos pide las credenciales de conexión con el servidor, y hay veces que aunque se las demos, la actualización no se produce. Esto es común en instalaciones de WordPress en localhost aunque se puede dar en cualquier servidor. Cuando esto ocurre la causa es una configuración del servidor incompatible; generalmente el problema está relacionado con los permisos y propietarios de los archivos.

Cómo modificar el shortcode caption de WordPress para adaptarlo a HTML5 y hacerlo más responsive

Imago voragine.net
[actualizado el ] • Por
El shortcode caption es el que usamos, aún sin darnos cuenta, para introducir imágenes con pie de foto en el contenido de un post o página. Aunque dispone de algunos parámetros que nos permiten configurar mínimamente el estilo, la salida que genera no cuenta con las marcas semánticas para imágenes de HTML5. Además el shortcode define un ancho absoluto para la imagen, haciendo que el código no sea responsive. Modificando el shortcode con una función que podemos incluir en un plugin o en el archivo functions.php del theme, podemos añadir estas dos características al caption.

Cambiar la extensión por omisión del excerpt o extracto en WordPress

El excerpt de WordPress, si no se define para un post, está programado para seleccionar las 55 primeras palabras del contenido del post.

Si se quiere cambiar esta extensión se puede incluir el siguiente código en el archivo functions.php del theme:

// configurando la extensión por omisión del excerpt a 20 palabras
function prefijo_excerpt_length( $length ) {
        return 20;
}
add_filter( 'excerpt_length', 'prefijo_excerpt_length', 999 );

Añadir algunas capacidades a un tipo de usuario (rol) en WordPress

Imago voragine.net
[actualizado el ] • Por
WordPress dispone de cinco tipos de usuario, cinco roles, con capacidades diferentes. Hay veces que ninguno de estos tipos se ajusta exáctamente al uso que un usuario hará de una página con WordPress. En estos casos podemos añadir o eliminar capacidades o permisos a uno de los cinco tipos de usuario, para adaptarlo a nuestras necesidades.

Entendiendo el sistema de paginación de WordPress: paginando el archivo, los resultados de búsqueda o un custom post type

Imago voragine.net
• Por

La función que ofrece WordPress para introducir una barra con enlaces a las diferentes páginas de resultados es paginate_links, es decir, un paginador de resultados del tipo "Anterior, 1, 2, 3, ..., Siguiente".

Esta función se encarga de construir las URLs para cada página de resultados, y es eficaz, salvo si entran en juego otros parámetros en la URL, por ejemplo s si queremos paginar los resultados de una búsqueda o post_type si estamos paginando un loop para un post type diferente a post. En estos casos, tendremos que ayudar a paginate_links a construir las URLs.

Para ello tenemos que darle a WordPress la siguiente información:

  • El loop a paginar.
  • El número total de páginas, en función de la cantidad de posts en el loop y la página actual en la que se está.
  • Los parámetros de la URL que queremos mantener en los enlaces a las distintas páginas.

La responsabilidad de los emisores de Open Badges

En El Diario, Pau Llop entrevista a Erin Knight, responsable de los Open Badge de la Mozilla Foundation. Un fragmento interesantes sobre la responsabilidad de los emisores de Open Badge, a tener en cuenta en Ciudad Escuela:

Mediante el uso de una infraestructura compartida, podemos verificar fácilmente las insignias para asegurarnos de que un emisor emitió realmente una insignia concreta y que no fue simplemente copiada del sitio o perfil de otro usuario con esa misma insignia. Así que nuestra tecnología incluye de serie una validación de bajo nivel. Sin embargo, la insignia no tiene sentido sin algo detrás de ella: aprendizaje, logros reales y alguna forma de evaluación. Cada emisor de insignias debe diseñar buenas experiencias de aprendizaje y evaluaciones sobre las que se puedan emitir ‘badges’, así que está en la mano del emisor poner controles y equilibrios para frenar las trampas y garantizar que sus insignias son representativas de lo que dicen ser.

Erin Knight: «Las insignias virtuales serán más eficaces que el CV para encontrar empleo», blog Colaboratorio de El Diario.

Me parece muy importante esta concepción de validación «de bajo nivel» de la que habla Erin. La tecnología Open Badge es segura por cómo está diseñada y construida, con un sistema de validación de las insignias que pasa por el servidor y el dominio del emisor. Erin enfatiza en la entrevista que la validez y la autenticidad de los badges depende en última instancia de la calidad del programa educativo y de los mecanismos de evaluación del emisor, que es en última instancia la validación «de alto nivel».

Cómo obtener y mostrar la descripción, o caption, de las imágenes destacadas (post thumbnail) en WordPress

Imago voragine.net
• Por
WordPress ofrece la posibilidad de asignar una imagen destacada, post thumbnail en el argot de WordPress, a cada post, lo cual da mucha flexibilidad a la hora de mostrar el contenido y esta imagen de manera independiente. Para manejar las imágenes destacadas hay distintas funciones, pero ninguna de ellas permite obtener la descripción, o caption, que podemos añadir a la imagen en el administrador de WordPress. Para obtener la descripción, y otras informaciones de una imagen destacada, tenemos que recurrir a la función genérica get_post.

Función PHP para eliminar parámetros de una URL

Imago voragine.net
[actualizado el ] • Por Enlace permanente

En el hilo de comentarios de la entrada PHP Function: Remove a Query String Key, Value del blog de David Walsh hay un buen puñado de funciones que permiten eliminar parámetros de una URL. Una de ellas me parece una solución más sencilla que la propone el propio David.

La he modificado mínimamente para que ofrezca la posibilidad de eliminar más de un parámetro:

// Elimina los parámetros suministrador mediante la array $keys de la URL $url
function remove_url_query_args($url,$keys=array()) {
        $url_parts = parse_url($url);
        if(empty($url_parts['query'])) return $url;
                 
        parse_str($url_parts['query'], $result_array);
        foreach ( $keys as $key ) { unset($result_array[$key]); }
        $url_parts['query'] = http_build_query($result_array);
        $url = (isset($url_parts["scheme"])?$url_parts["scheme"]."://":"").
                (isset($url_parts["user"])?$url_parts["user"].":":"").
                (isset($url_parts["pass"])?$url_parts["pass"]."@":"").
                (isset($url_parts["host"])?$url_parts["host"]:"").
                (isset($url_parts["port"])?":".$url_parts["port"]:"").
                (isset($url_parts["path"])?$url_parts["path"]:"").
                (isset($url_parts["query"])?"?".$url_parts["query"]:"").
                (isset($url_parts["fragment"])?"#".$url_parts["fragment"]:"");
        return $url;
}

Por ejemplo:

$keys = array("param1","param3");
echo remove_url_query_args($url,$keys);

Función JavaScript para detectar si una página web está siendo visitada desde un dispositivo móvil

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Buceando en el código del theme Hero de WordPress, desarrollado por ThemeTrust he encontrado una función JavaScript muy sencillita para detectar si una página web está siendo visitada desde un dispositivo móvil.

No es completa, pero sí cubre los principales dispositivos móviles:

function isMobile(){
    return (
        (navigator.userAgent.match(/Android/i)) ||
        (navigator.userAgent.match(/webOS/i)) ||
        (navigator.userAgent.match(/iPhone/i)) ||
        (navigator.userAgent.match(/iPod/i)) ||
        (navigator.userAgent.match(/iPad/i)) ||
        (navigator.userAgent.match(/BlackBerry/i))
    );
}

Sobre el juicio de las principales discográficas mundiales contra Pablo Soto

David Bravo, abogado defensor de Pablo Soto, escribe un artículo en El Diario en el que cuenta el milagro que ha sido ganar un juicio a las principales discográficas mundiales:

El toque de atención que me dejó claro que ellos jugaban en otra liga fue cuando el mismo día del juicio, EEUU aprovechó para meter presión a España diciendo que éramos el país más pirata, obviamente para crear un clima favorable a la estimación de la demanda contra Pablo. Los medios de comunicación, expertos en fingir que han picado ingenuamente un anzuelo, hicieron la relación que se demandaba de ellos y en la misma noticia en la que hablaban de la queja de EEUU hablaban también de que, precisamente, y fíjense qué casualidad, ese mismo día se juzgaba en España a un importante pirata.

Nos hemos encontrado entre las toneladas de folios con un escrito presentado por la demandante, entiendo que por error, donde tras cada pregunta a sus peritos aparecían entre paréntesis las respuestas que debían dar. Nos hemos asustado al ver que el juez que iba a resolver el recurso impartía clases en un master coordinado por el abogado contrario y en el que alguna de las cuatro discográficas demandantes era empresa colaboradora. Hemos visto cómo periódicos como El País aprovecharon la condena a The Pirate Bay para decir justo el día que empezaba el juicio a Pablo que su caso era el The Pirate Bay español.

Ahora que todo ha terminado, David Bravo.