Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo eliminar elementos del menú de administración de WordPress

Para eliminar elementos de los menús de administración de WordPress, y en consecuencia el acceso a determinadas secciones, se puede añadir el siguiente código al archivo functions.php del theme:

add_action( 'admin_menu', 'prefix_remove_dashboard_item' );
function prefix_remove_dashboard_item() {
  //remove_menu_page( 'index.php' );                  //Dashboard
  remove_menu_page( 'edit.php' );                   //Posts
  //remove_menu_page( 'upload.php' );                 //Media
  //remove_menu_page( 'edit.php?post_type=page' );    //Pages
  remove_menu_page( 'edit-comments.php' );          //Comments
  //remove_menu_page( 'themes.php' );                 //Appearance
  //remove_menu_page( 'plugins.php' );                //Plugins
  //remove_menu_page( 'users.php' );                  //Users
  //remove_menu_page( 'tools.php' );                  //Tools
  //remove_menu_page( 'options-general.php' );        //Settings
}

En el ejemplo de arriba estamos eliminando el acceso a los Posts y a los comentarios.

Cómo estructurar correctamente el archivo functions.php de un theme de WordPress: algunas buenas prácticas

Imago voragine.net
• Por
El archivo functions.php aloja fragmentos de código que queremos cargar en momentos y lugares diferentes, y para no repetirlos cada vez, convertimos en funciones que llamamos para que ejecuten su misión. funcions.php puede contener funciones a las que llamaremos en otras plantillas para construir el theme, otras a las que llamará un usuario desde el administrador (mediante shortcodes por ejemplo), y otras que cargarán funcionalidades adicionales a las que WordPress incluye de base (tipos de contenido personalizado, elementos extra en el administrador...). El archivo functions.php es el lugar para alojar la lógica del theme, las funciones. Y las plantillas alojarán el HTML y las llamadas a las funciones que sean necesarias. Así la edición del theme es más sencilla, porque todas las funciones están en el mismo sitio, y las plantillas permanecen limpias y ordenadas. A su vez las funciones dentro de functions.php deben seguir una estructura que permita llamarlas cuando son necesarias, modificaciones de otros programadores (por ejemplo en un )child theme, activarlas y desactivarlas de manera sencilla... Para tener un buen functions.php, conviene estructurarlo siguiendo una serie de buenas prácticas.

Entradas relacionados en WordPress sin necesidad de plugin

Imago voragine.net
• Por
Hace tiempo publiqué una manera de obtener un listado de posts relacionados en WordPress. Aquel método relacionaba contenido en base a las etiquetas comunes. Publico en esta entrada una receta que además añade las categorías: si no se encuentran etiquetas en común, se analizan las categorías. Además el código está estructurado en una función para incluirlo en functions.php, a la que podemos llamar desde cualquier plantilla, manteniendo el theme limpio y ordenado. El código ha sido desarrollado originalmente por Justin Tallant, que además acompaña el código de una buena reflexión sobre por qué es mejor un desarrollo propio que un plugin en este caso. La versión que publico aquí contiene algunas modificaciones que he añadido.

El sistema de revisiones en WordPress: cómo deshabilitarlo o limitarlo, y cómo eliminar todas las revisiones

Imago voragine.net
[actualizado el ] • Por
El sistema de revisiones de WordPress es una de esas grandes ideas que no usa más del uno por ciento de sus usuarios de WordPress que conozco. La mayoría de los blogs no necesitan un sistema de control de cambios. Desde mi punto de vista debería ser una opción deshabilitada por omisión, y que solo fuese funcional tras activarla voluntariamente. Las revisiones que se generan automáticamente cada vez que hacemos un cambio en un post, ocupan varias veces más espacio en la base de datos que el contenido publicado. Por ejemplo, en voragine.net hay 225 post publicados y 910 revisiones. Esta cantidad extra de información hace que las consultas a la base de datos sean mucho más lentas, aumentando los tiempos de carga de la página.

Personalizando el loop de WordPress con WP_Query->set() para casos y plantillas determinados

Imago voragine.net
[actualizado el ] • Por
Configurar una query para conseguir el loop que necesitamos en una plantilla determinada de WordPress es fácil: basta crear una query personalizada mediante WP_Query. Hay veces que solo queremos modificar una variable de la query, y para un caso concreto, no para toda la template. Por ejemplo en la template archive.php y solo para las queries que afecten a una taxonomía determinada. En estos casos, quizás prefiramos no ensuciar el archivo de la template, archive.php en nuestro ejemplo. Lo que podemos hacer es hacerlo usando el método set() de WP_Query en una función que incluiremos en el archivo functions.php de nuestor theme.

Cómo añadir campos a las secciones de Ajustes (Settings) del administrador de WordPress

Imago voragine.net
• Por
Para añadir campos suplementarios al apartado de Ajustes del administrador de WordPress podemos usar la Settings API. Primero tenemos que registrar el nuevo campo y luego añadirlo, usando las funciones register_setting() y add_settings_field() respectivamente.

Imagen destacada en un post en WordPress: sacándole partido a post_thumbnail

Imago voragine.net
[actualizado el ] • Por
La funcionalidad featured image de WordPress permite programar con mucha más flexibilidad cómo se muestran las imágenes asociadas a un post. Además provee de una manera de gestionar las imágenes destacadas que no es tediosa ni difícil para los editores, que lo pueden hacer desde la página de edición de una entrada. implementar esta funcionalidad no es nada complicado.

Cómo cambiar el valor por defecto del nombre de usuario a mostrar públicamente en WordPress

Imago voragine.net
• Por
En el perfil de cada usuario hay una opción que permite definir cómo nombrarle en el sitio cuando se hace referencia a él: bien con su nombre de usuario, con su nombre y sus apellidos... La opción por omisión es el nombre de usuario. El problema viene cuando se quiere cambiar este comportamiento por omisión del display_name para no tener que cambiarlo en cada usuario, y para que nuevos registros contengan ya la opción correcta.

Cómo añadir campos extra al perfil de un usuario en WordPress

Imago voragine.net
• Por
Añadir campos al perfil de los usuarios de nuestra página funcionando bajo WordPress, y así conseguir personalizarlos es sencillo. Únicamente tenemos que añadir algo de código al archivo functions.php del tema que estemos usando: por un lado el código que añadirá las cajas a la página de edición del perfil en el administrador de WorPress; por otro, la acción que creará y actualizará ese registro en la base de datos.