Descubre en este tutorial cómo obtener y mostrar todos los plugins de una instalación remota de WordPress usando la API REST.
Es posible que en algunos casos te interese mostrar (u obtener) todos los plugins de una instalación remota de WordPress, incluyendo la versión, el autor u otros datos.
Por eso en este tutorial vas a aprender cómo puedes obtener un listado de todos los plugins de una instalación remota de WordPress. Este sería el resultado:
Vamos a verlo:
Pasos para mostrar todos los plugins de una instalación de WordPress usando la API REST
1. Crea una contraseña para la API REST
Lo primero que tienes que hacer es crear una nueva contraseña de aplicación.
Para ello ve (en la instalación de WordPress donde te quieres autenticar) a Usuarios > Perfil y haz scroll hasta el apartado de «Contraseñas de aplicación».
A continuación rellena el campo de nombre de nueva contraseña (puede ser cualquiera) y pulsa en «Añadir una nueva contraseña de aplicación».
Una vez hecho, se mostrará el nombre de la contraseña y la contraseña. Asegúrate de copiarla y guardarla a buen recaudo porque no volverán mostrarse.
2. Obtén los datos del endpoint y muéstralos mediante un shortcode
Una vez tienes las credenciales para poder autenticarte con la API REST ya puedes hacer la llamada al endpoint para obtener los plugins.
Además, vas a encapsular estos datos dentro de un shortcode para poder mostrar el listado donde quieras.
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
Con este código creas un shortcode que te permite mostrar un listado con todos los plugins de una instalación remota de WordPress usando el shortcode [plugin_list].
En la primera parte del snippet defines las variables:
$username
= Nombre de usuario de WordPress.$password
= Contraseña de aplicación obtenida en el paso anterior.$website_url
= La URL de la web.$request_ur
l = La URL donde se hace la petición. En este caso es la concatenación:$website_url . '/wp-json/wp/v2/plugins/'
que accede al endpoint para plugins de la API REST.
Acuérdate de cambiar el valor de las siguientes variables por las de tu caso.
A continuación usas la función wp_remote_request
para obtener el endpoint para plugins (con el método GET
).
La parte de la autenticación se realiza en la cabecera (‘headers’) utilizando la función base64_encode
para que cifre el usuario y contraseña.
Una vez que obtienes la información enviada por la API utilizas las funciones wp_remote_retrieve_body
para extraer los datos del cuerpo y json_decode
para decodificarla.
Y cuando tienes el array con los datos usas un bucle (foreach) para extraer la información que te interesa.
En este caso, 3 detalles sobre la información del plugin:
- Nombre del plugin
[name]
> con enlace al mismo[plugin_uri]
- Versión del plugin
[version]
- Nombre del autor
[author]
> con enlace al mismo[author_uri]
Pero puedes eliminar o añadir más para personalizarlo a tu gusto. Estos son todos lo detalles que puedes mostrar:
[plugin]
[status]
[name]
[plugin_uri]
[author]
[author_uri]
[description]
[version]
[network_only]
[requires_wp]
[requires_php]
[textdomain]
[_links]
Tienes más información al respecto en página oficial para desarrolladores de WordPress.
Por ejemplo, para el plugin de Akismet retorna algo así:
Array ( [0] => stdClass Object (
[plugin] => akismet/akismet
[status] => active
[name] => Akismet Anti-Spam
[plugin_uri] => https://akismet.com/
[author] => Automattic
[author_uri] => https://automattic.com/wordpress-plugins/
[description] => stdClass Object ( [raw] => Utilizado por millones, Akismet es, posiblemente, la mejor manera del mundo de proteger tu blog del spam. Mantiene tu blog protegido incluso cuando duermes. Para comenzar: activa el plugin Akismet y ve a la página de ajustes de Akismet para establecer tu clave de la API. [rendered] => Utilizado por millones, Akismet es, posiblemente, la mejor manera del mundo de proteger tu blog del spam. Mantiene tu blog protegido incluso cuando duermes. Para comenzar: activa el plugin Akismet y ve a la página de ajustes de Akismet para establecer tu clave de la API. By Automattic. )
[version] => 4.2.2
[network_only] =>
[requires_wp] =>
[requires_php] =>
[textdomain] => akismet
[_links] => stdClass Object ( [self] => Array ( [0] => stdClass Object ( [href] => https://tuweb.com/wp-json/wp/v2/plugins/akismet/akismet ) ) ) )
Así que puedes personalizar los detalles que prefieres que se muestren.
Si tienes alguna duda o sugerencia puedes dejarla en los comentarios.
Para poder ver el listado solo te queda un paso.
2. Introduce el shortcode donde quieras
La ventaja de los shortcodes es que puedes insertarlos en cualquier punto de la web.
Solo tendrás que escribir [plugin_list]
donde quieres que se visualice.
Importante:
- Si estás utilizando el editor clásico, utiliza la pestaña de HTML para introducir el shortcode.
- En caso de que ya estés usando el nuevo editor de bloques (Gutenberg) puedes añadirlo al bloque normal de párrafo, el de HTML o el de shortcode. Todos ellos renderizarán de forma correcta el contenido.
Este sería un ejemplo del listado que mostraría el shortcode:
Conclusiones
Ahora ya sabes cómo utilizar la API REST para obtener y mostrar todos los plugins de una instalación remota de WordPress.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉