Music, board, switch and controls, de Rima Kruciene

Hoy te traigo un pequeño truco que seguro que te será de utilidad si eres desarrollador de plugins para WordPress.

Cuando desarrollas un plugin para WordPress lo habitual es que este plugin tenga su propio menú con páginas propias, incluyendo una página de ajustes en el escritorio de administración de WordPress.

Sin embargo, muchas veces nos descargamos plugins desde el directorio oficial de plugins de WordPress y nos encontramos con que una vez instalado y activado el plugin, no sabemos qué tenemos que hacer con él.

En la lista de plugins que tenemos en el panel de administración de WordPress podemos ver los plugins que tenemos instalados y activos. Además, debajo del título de cada plugin vemos que existen acciones adicionales para activar, desactivar o eliminar el propio plugin.

Lista de plugins dentro del escritorio de WordPress.
Lista de plugins dentro del escritorio de WordPress.

Hoy vamos a ver cómo añadir más acciones a nuestros plugins para que resulte más sencillo dirigir a los usuarios que se descargan y activan un plugin a, por ejemplo, visitar su página de ajustes. Para ello vamos a añadir un enlace adicional que nos lleve a la página de ajustes.

Lo que vamos a necesitar es hacer uso del filtro plugin_action_links_{$plugin_file} de WordPress. Puedes encontrar su documentación aquí.

Básicamente, en este filtro nos pasan como parámetro una lista con los enlaces que hay justo debajo del nombre del plugin. Tan solo debemos crear un enlace adicional y añadirlo a esta lista dentro del filtro, para que así WordPress lo acabe mostrando en la interfaz de usuario.

El código a continuación añade un enlace a la página de ajustes en nuestro plugin Nelio Content:

Como has podido observar, el nombre del filtro es plugin_action_links_{$plugin_file} pero nosotros en el código hemos puesto plugin_action_links_nelio-content/nelio-content.php. Esto es así porque la parte {$plugin_file} hace referencia a la ruta del archivo principal del plugin dentro del directorio plugins de WordPress.

En el caso de nuestro plugin Nelio Content, este tiene como archivo principal el archivo nelio-content.php que se encuentra dentro del directorio nelio-content. De ahí que hayamos utilizado como nombre del filtro la cadena plugin_action_links_nelio-content/nelio-content.php.

Recuerda adaptar esto a tu caso concreto. También puedes utilizar funciones de WordPress como plugin_basename para construir este nombre, que encontrarás explicada aquí.

A parte de esto, verás que el código es bastante simple. Creamos un enlace ($settings_link) y lo añadimos a la lista ($links) justo antes de devolverla.

La página de ajustes de nuestro plugin está en la URL /wp-admin/admin.php?page=nelio-content-settings. En la línea 6 del código montamos esta URL utilizando la función get_admin_url() (más info aquí) a la que le concatenamos admin.php al final. Con esto conseguimos tener /wp-admin/admin.php. Para añadirle el parámetro page que acabe montando la URL correctamente utilizamos la función add_query_arg que puedes encontrar aquí.

Con el código anterior conseguimos que aparezca el enlace a los ajustes (Settings, en inglés) del plugin tal y como puedes ver en la siguiente imagen:

Vista de la lista de plugins con el enlace adicional añadido en nuestro plugin.
Vista de la lista de plugins con el enlace adicional añadido en nuestro plugin.

Con esto tienes la posibilidad de añadir los enlaces que quieras en la lista de plugins del escritorio de WordPress. No obstante, utiliza esta posibilidad con responsabilidad. No te pases y no llenes la lista de acciones con enlaces sin utilidad alguna para el usuario, ya que estarás empeorando su experiencia de usuario.

Imagen destacada de Rima Kruciene en Unsplash.

2 respuestas a «Añadir un enlace a los ajustes de nuestro plugin»

  1. Avatar de Álvaro
    Álvaro

    Muy buen aporte, justo lo que estaba buscando 🙂 muchísimas gracias.

    1. Avatar de Antonio Villegas

      Gracias, Álvaro, por dejar el comentario 🙂

Deja una respuesta

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

He leído y acepto la política de privacidad de Nelio Software

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.