{"id":9818,"date":"2022-11-07T11:44:00","date_gmt":"2022-11-07T10:44:00","guid":{"rendered":"https:\/\/xn--nicols-tta.es\/?p=9818"},"modified":"2022-11-07T11:44:00","modified_gmt":"2022-11-07T10:44:00","slug":"puedo-hacer-mi-plugin-wordpress","status":"publish","type":"post","link":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/","title":{"rendered":"\u00bfPuedo hacer mi Plugin WordPress?"},"content":{"rendered":"\n<h1 class=\"wp-block-heading has-text-align-left has-vivid-red-color has-text-color has-medium-font-size\">\u00bfPuedo hacer mi Plugin WordPress?<\/h1>\n\n\n\n<p class=\"has-text-align-left\"><strong>S\u00ed que puedes.<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left has-white-color has-cyan-bluish-gray-background-color has-text-color has-background\"><strong>Una de las cosas que m\u00e1s me gusta de WordPress son los plugins; \u00a1hay tantas cosas que puedes hacer!<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left has-text-color\" style=\"color:#121cda\">Gu\u00eda paso a paso para crear un plugin de <a href=\"https:\/\/es.wordpress.org\/\">WordPress<\/a><\/h4>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left has-vivid-purple-color has-text-color\">1# C\u00f3mo crear un plugin desde cero<\/h5>\n\n\n\n<p class=\"has-text-align-left\">Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201c<strong>wp-content\/plugins<\/strong>\u201d, dentro de este, deberemos a\u00f1adir un fichero con el c\u00f3digo fuente. <\/p>\n\n\n\n<p class=\"has-text-align-left\">En este caso lo llamaremos \u201c<strong>wpplugin-ejemplo<\/strong>\u201d. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"has-text-align-left\">Para poder a\u00f1adirlo, deberemos crear una carpeta, que le daremos el nombre de \u201c<strong>wp-content\/plugins\/wpplugin-ejemplo\/<\/strong>\u201d y en el interior a\u00f1adiremos el fichero \u201c<strong>wpplugin-ejemplo.php<\/strong>\u201d en este caso, y que deber\u00e1 contener la siguiente informaci\u00f3n de c\u00f3digo:<\/p>\n\n\n\n<div class=\"wp-block-group has-vivid-cyan-blue-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">&lt;?php<\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\"> \/** <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Plugin Name: Ejemplo de wpplugin <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Plugin URI: http:\/\/wpplugin.es <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Description: Este plugln modifica los t\u00edtulos de las entradas. <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Version: 1.0.0 * Author: Nicol\u00e1s O\u00f1ate <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Author URI: https:\/\/nicol\u00e1s.es <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Requires at least: 4.0 <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Tested up to: 4.3 <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">*Text Domain: wpplugin-ejemplo <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">* Domain path: \/languages\/ <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">*\/ <\/p>\n\n\n\n<div class=\"wp-block-group has-vivid-cyan-blue-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">defined( &#8216;ABSPATH&#8217; ) or die( &#8216;\u00a1sin trampas!\u2019 );<\/p>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<p class=\"has-text-align-left\">Una vez realizados estos pasos, si entramos en el <strong>editor de WordPress<\/strong> de nuestro sitio web y clicamos el apartado <strong>Plugins<\/strong>, veremos que el plugin que hemos creado aparece correctamente listado. Por tanto, WordPress est\u00e1 usando toda la informaci\u00f3n que hemos a\u00f1adido mediante \u201c<strong>wpplugin-ejemplo.php<\/strong>\u201d.<\/p>\n\n\n\n<p class=\"has-text-align-left\">\u00a1Genial! Ya tenemos nuestro primer plugin de WordPress instalado, pero\u2026 \u00bfque nos aporta? Realmente, tal y como est\u00e1, no nos sirve absolutamente para nada, por esto, pasamos a a\u00f1adir alguna funcionalidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left has-vivid-purple-color has-text-color\">2# C\u00f3mo a\u00f1adir alguna funcionalidad al plugin creado<\/h3>\n\n\n\n<p class=\"has-text-align-left\">WordPress ofrece distintas <a href=\"https:\/\/codex.wordpress.org\/WordPress_APIs\" target=\"_blank\" rel=\"noreferrer noopener\">APIs<\/a> para implementar nuevas funcionalidades, a continuaci\u00f3n mostramos un listado de las APIs m\u00e1s b\u00e1sicas que podemos utilizar.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Plugins API<\/strong>: Esta es la m\u00e1s b\u00e1sica de todas.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Widgets API<\/strong>: Da la posibilidad de crear nuevos widgets.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Options API<\/strong>: Podremos almacenar las opciones de configuraci\u00f3n de nuestro plugin.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Settings API<\/strong>: Nos permite crear p\u00e1ginas de configuraci\u00f3n del plugin que hemos creado.<\/p>\n\n\n\n<p class=\"has-text-align-left\">Una vez decidida que tipo de API vamos a utilizar, entra en juego el <strong>concepto<a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/\"> <em>hook<\/em><\/a><\/strong><em>, <\/em>un mecanismo que <strong>permite \u201cponer\u201d las acciones de nuestro plugin en distintas partes de WordPress<\/strong>. Vamos a ver en qu\u00e9 consiste el concepto <em><a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/\">hook<\/a><\/em>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><em><a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/\">Hook<\/a><\/em><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Este nos permite a\u00f1adir funcionalidades al plugin. Al final del fichero <strong>wpplugin.php<\/strong> deberemos a\u00f1adir el siguiente c\u00f3digo:<\/p>\n\n\n\n<div class=\"wp-block-group has-vivid-cyan-blue-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">add_filter( &#8216;the_title&#8217;, &#8216;wpplugin_cambiar_titulo&#8217;, 10, 2 ); <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">function wpplugin_cambiar_titulo( $title, $id ) {   <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">$title = &#8216; [Exclusiva] &#8216; . $title;   <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">return $title; <\/p>\n\n\n\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">}<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-text-align-left\">En caso de que hayamos archivado el plugin, si entramos en nuestro blog, veremos que todos los t\u00edtulos de todas nuestras p\u00e1ginas y entradas tienen inclu\u00eddo el texto <strong>[Exclusiva]<\/strong>. \u00bfPor qu\u00e9 pasa esto? Ahora vamos a analizar lo que acabamos de escribir para verlo mucho m\u00e1s claro.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\">Funci\u00f3n \u201c<strong>add_filter<\/strong>\u201d: En este caso, lo que le hemos dicho a WordPress es que cuando est\u00e9 a punto de escribir un t\u00edtulo de una entrada o p\u00e1gina (es decir, cada vez que aparezca \u201c<strong>the_title<\/strong>\u201d), ejecute la funci\u00f3n \u201c<strong>wpplugin_cambiar_titulo<\/strong>\u201d.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Crear una nueva funci\u00f3n<\/strong>: Con el paso anterior lo que hemos hecho ha sido decirle a WordPress que cada vez que aparezca \u201c<strong>the_title<\/strong>\u201d deber\u00e1 realizar una funci\u00f3n determinada, no obstante, esta no se desarrolla por defecto, por tanto, deberemos crearla. Debemos tener en cuenta, que tal y como cuenta la documentaci\u00f3n o en este caso el c\u00f3digo fuente, que la funci\u00f3n deber\u00e1 aceptar los par\u00e1metros \u201c<strong>$title <\/strong>e<strong> $id<\/strong>\u201d.<\/p>\n\n\n\n<p class=\"has-text-align-left has-luminous-vivid-amber-background-color has-background\"><strong>Cuerpo de la funci\u00f3n<\/strong>: Por lo que hace el cuerpo de funci\u00f3n wpplugin_cambiar_titulo, es simplemente el encargado de a\u00f1adir al t\u00edtulo el texto <strong>[Exclusiva]<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"467\" src=\"https:\/\/xn--nicols-tta.es\/wp-content\/uploads\/2022\/11\/basicos-de-ganchos-de-wordpress-1024x467.png\" alt=\"\" class=\"wp-image-9920\" srcset=\"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/basicos-de-ganchos-de-wordpress-1024x467.png 1024w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/basicos-de-ganchos-de-wordpress-300x137.png 300w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/basicos-de-ganchos-de-wordpress-768x350.png 768w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/basicos-de-ganchos-de-wordpress.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left has-vivid-purple-color has-text-color\">Tipos de <em><a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/\">hooks<\/a><\/em><\/h3>\n\n\n\n<p class=\"has-text-align-left\">No debemos olvidar que debemos encontrar dos tipos de <em><a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/\">hooks:<\/a><\/em><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\"><strong>Acciones<\/strong><\/h5>\n\n\n\n<p class=\"has-text-align-left\">Entendemos por acci\u00f3n una funci\u00f3n PHP que se ejecuta cuando se produce un cierto evento en WordPress, estos pueden ser guardar una entrada, modificar la base de datos, entre otros.<\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\"><strong>Filtros<\/strong><\/h5>\n\n\n\n<p class=\"has-text-align-left\">A pesar de que los filtros son parecidos a las acciones, estos tienen la diferencia de que reciben un valor de entrada. Realmente, el c\u00f3digo que hemos escrito anteriormente es un filtro, puesto que toma como valor de entrada cualquier t\u00edtulo que aparezca en la entrada o p\u00e1gina.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left has-vivid-purple-color has-text-color\">3# C\u00f3mo crear un plugin un poco m\u00e1s potente<\/h4>\n\n\n\n<p class=\"has-text-align-left\">Realmente con la informaci\u00f3n anterior, ya tendr\u00edamos las nociones b\u00e1sicas para hacer cualquier cosa en WordPress, no obstante, \u00bfpor qu\u00e9 no ir un poco m\u00e1s all\u00e1? A continuaci\u00f3n vamos a aprender c\u00f3mo modificar el editor de entradas, guardar el nuevo campo y modificar el t\u00edtulo con ese nuevo campo, para darle una funcionalidad espec\u00edfica y que nos aporte realmente valor a nuestro sitio.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><strong>Modificar el editor de entradas<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">En este caso, se debe a\u00f1adir una nueva caja de edici\u00f3n dentro de las entradas de WordPress donde podremos especificar un texto cualquiera. Importante, este texto ser\u00e1 espec\u00edfico para cada entrada y ser\u00e1 una \u201c<em>Extensi\u00f3n del t\u00edtulo<\/em>\u201d.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><strong>Guardar el nuevo campo<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Deberemos modificar la informaci\u00f3n que WordPress almacena de una entrada y la deberemos a\u00f1adir a un campo adicional, para as\u00ed almacenar o recuperar la \u201cextensi\u00f3n del t\u00edtulo\u201d.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><strong>Modificar el t\u00edtulo con ese campo<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Con esta modificaci\u00f3n conseguiremos que los t\u00edtulos de cada entrada incluyan la extensi\u00f3n almacenada en 2. \u00bfDe qu\u00e9 nos sirve esto? Pues que el autor de cada entrada pueda a\u00f1adir el texto que quiera al lado del t\u00edtulo.<\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\">A\u00f1adir la caja (metabox) en el editor de entradas&#8230;<\/h5>\n\n\n\n<p class=\"has-text-align-left\">Antes de nada, esta es la apariencia que tiene por defecto el editor de entradas de WordPress.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/xn--nicols-tta.es\/wp-content\/uploads\/2022\/11\/Anadir-la-caja-1024x480.webp\" alt=\"\" class=\"wp-image-9953\" srcset=\"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/Anadir-la-caja-1024x480.webp 1024w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/Anadir-la-caja-300x141.webp 300w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/Anadir-la-caja-768x360.webp 768w, https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/Anadir-la-caja.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-left\">Si nos fijamos en la imagen, las <em>meta boxes<\/em> son las \u201ccajas\u201d que nos aparecen al lado derecho, como por ejemplo la de Publicar, Etiquetas, etc., por tanto, estas meta boxes nos permitir\u00e1n a\u00f1adir informaci\u00f3n adicional de nuestra entrada.<\/p>\n\n\n\n<p class=\"has-text-align-left\">Para poder crear una meta box deberemos realizar una b\u00fasqueda en el <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/add_meta_box\" target=\"_blank\" rel=\"noreferrer noopener\">Codex de WordPress<\/a> para encontrar la funci\u00f3n \u201c<strong>add_meta_box<\/strong>\u201d y que se encuentra escrita de la siguiente manera:<\/p>\n\n\n\n<div class=\"wp-block-group has-vivid-cyan-blue-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">add_meta.box( Sid, Stitle, $callback, $screen, $context, $priority, $callback_args );<\/p>\n<\/div><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">C\u00f3mo guardar permanentemente esta extensi\u00f3n<\/h5>\n\n\n\n<p>Gracias a la meta box que acabamos de crear, podemos especificar el texto que habr\u00e1 que a\u00f1adir en el t\u00edtulo de una entrada cualquiera, pero para ello, es de suma importancia que guardemos en la base de datos las acciones realizadas anteriormente.<\/p>\n\n\n\n<p class=\"has-text-align-left\">WordPress piensa en todo, y gracias a sus <a href=\"https:\/\/codex.wordpress.org\/es:Using_Custom_Fields\" target=\"_blank\" rel=\"noreferrer noopener\">campos personalizados<\/a>, podemos guardar cualquier tipo de informaci\u00f3n adicional a una entrada. Vamos a ver entonces c\u00f3mo quedar\u00eda el c\u00f3digo.<\/p>\n\n\n\n<p>Simplemente lo que hemos hecho ha sido crear una nueva funci\u00f3n \u201c<strong>wpplugin_save_extension_titulo<\/strong>\u201d que se ejecuta en el momento que que WordPress va a guardar una entrada en la base de datos \u201c<strong>accion save_post<\/strong>\u201d. A continuaci\u00f3n, deberemos coger este valor y pasarlo por la funci\u00f3n \u201c<strong>sanitize<\/strong>\u201d. Esto es imprescindible realizarlo con todos los valores de los usuarios.<\/p>\n\n\n\n<p>En caso de que queramos recuperar el valor anterior, deberemos acceder a un array de PHP llamado \u201c$_REQUEST\u201d. Este contiene los valores enviados al guardar la entrada y, en contreto el campo \u201c<strong>&lt;input type=\u201dtext\u201d&gt;<\/strong>\u201d a\u00f1adido en nuestra <em>meta box<\/em>. Para poder acceder a ese valor, tan solo deberemos usar el nombre de campo \u201c<strong>wpplugin-extension-titulo<\/strong>\u201d. Una vez realizado esto, deberemos guardar el valor en un campo personalizado al que por ejemplo llamaremos \u201c<strong>_wpplugin_ejemplo_extension_titulo<\/strong>\u201d mediante el uso de la funci\u00f3n \u201c<strong>update_post_meta<\/strong>\u201d. De esta manera, cada vez que editemos y guardemos una entrada, el valor que hayamos introducido en el campo de nuetra <em>meta box<\/em> quedar\u00e1 guardado dentro de este campo personalizado.<\/p>\n\n\n\n<p class=\"has-text-align-left\">No obstante, si editamos una entrada, a\u00f1adimos un texto a ese campo y lo guardamos, veremos que el campo aparece vac\u00edo, como si no lo hubi\u00e9ramos guardado de manera correcta. Esto sucede, porque cada vez que pintamos el campo de texto \u201c<strong>input<\/strong>\u201d, este est\u00e1 vac\u00edo. Por tanto, si queremos que muestre el valor del campo personalizado, tendremos que recuperar ese valor de la base de datos.<\/p>\n\n\n\n<p class=\"has-text-align-left\">Para poder recuperar el valor del campo personalizado, simplemente deberemos usar la funci\u00f3n \u201c<strong>get_post_meta<\/strong>\u201d con el identificador de la entrada y el nombre del campo en cuesti\u00f3n. Luego solo deberemos escribir el valor donde toque, que en este caso ser\u00e1 dentro de la etiqueta \u201c<strong>value<\/strong>\u201d que encontramos en el \u201c<strong>input<\/strong>\u201d. Por tanto, quedar\u00eda de la siguiente manera:<\/p>\n\n\n\n<div class=\"wp-block-group has-vivid-cyan-blue-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-left has-vivid-cyan-blue-background-color has-background\">&lt;input &#8230; value=\u00bbEste es mi \u00abtexto\u00bb favorito\u00bb \/&gt;<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-text-align-left\">Pero si nos fijamos, vemos que quedan demasiadas comillas y no se lee bien, puesto que parece que nos queda mal formateado. Es por esto, que deberemos pasarlo por una funci\u00f3n llamada \u201c<strong>esc_attr<\/strong>\u201d. Esta funci\u00f3n, es la encargada de escapar de los caracteres que podr\u00edan romper el <a href=\"https:\/\/www.iebschool.com\/blog\/que-es-etiqueta-html-analitica-usabilidad\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML<\/a> resultante. El valor que nos quedar\u00eda utilizando esta funci\u00f3n ser\u00eda el siguiente y funcionara perfectamente puesto que las comillas se han sustituido por \u201c<strong>&amp;quot<\/strong>\u201d.<\/p>\n\n\n\n<p>De esta manera, recuperaremos el valor usando la llamada que ya conocemos. \u00a1Y ya est\u00e1! Ya tenemos nuestro plugin hecho. Destacamos que parte de este post, est\u00e1&nbsp;<strong>basado en el <a href=\"https:\/\/neliosoftware.com\/es\/blog\/creacion-de-plugins-en-wordpress-i\/\" target=\"_blank\" rel=\"noreferrer noopener\">c\u00f3digo de David Aguilera.<\/a><\/strong><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\">Resumiendo<\/h5>\n\n\n\n<p class=\"has-text-align-left\">Crear plugins no es excesivamente complicado. Hay que controlar el conjunto de filtros y acciones que nos ofrece WordPress y usarlos seg\u00fan los necesitemos. De todas formas, el c\u00f3digo que hemos escrito hoy se puede mejorar much\u00edsimo: estamos mezclando funcionalidades del plugin (c\u00f3digo PHP) con la interfaz de usuario (contenido HTML), el c\u00f3digo del <em>front-end<\/em> y del <em>back-end<\/em> est\u00e1 todo en el mismo fichero, todas las funciones son p\u00fablicas\u2026 En la pr\u00f3xima entrada te explicar\u00e9 c\u00f3mo debes organizar el c\u00f3digo y compartir\u00e9 mis cinco trucos para escribir buen c\u00f3digo.<\/p>\n\n\n\n<p class=\"has-text-align-left\">\u00a1Nos vemos la semana que viene!<\/p>\n\n\n\n<p class=\"has-text-align-left\"><strong>Si te interesa el desarrollo y personalizaci\u00f3n del CMS, recuerda que en blog de <a href=\"https:\/\/nicol\u00e1s.es\/blog\/\">Nicol\u00e1s<\/a> hemos publicado tambi\u00e9n otros post dedicados a temas tan interesantes como<\/strong> <a href=\"https:\/\/nicol\u00e1s.es\/puedo-hacer-mi-tema-wordpress\/\">\u00bfPuedo hacer mi Tema WordPress?<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"has-text-align-left has-light-green-cyan-background-color has-background\">\u00bfTe has quedado con alguna duda o pregunta? Entonces te pido que&nbsp;<strong>dejes un&nbsp;comentario<\/strong>. Da igual que sea o una duda o un simple gracias, pero me alegrar\u00e9 mucho de leerlo y responderlo.<\/p>\n\n\n\n<p class=\"has-text-align-left\"><strong>\u00a1Cu\u00e9ntame en los comentarios!<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"has-text-align-left\"><strong>Enlaces internos:<\/strong><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\"><a href=\"https:\/\/xn--nicols-tta.es\/nicolas_noticias\/\">\u00daltimas Noticias Digitales<\/a><\/h5>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\"><a href=\"https:\/\/xn--nicols-tta.es\/blog\/\">Blog<\/a><\/h5>\n\n\n\n<h5 class=\"wp-block-heading has-text-align-left\"><a href=\"https:\/\/xn--nicols-tta.es\/tienda\/\">Tienda<\/a><\/h5>\n\n\n\n<h4 class=\"wp-block-heading\"><\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201cwp-content\/plugins\u201d, dentro<\/p>\n","protected":false},"author":7,"featured_media":9825,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/template-full-width.php","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[20,13,21,14,15,10,11,19,12],"class_list":["post-9818","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-css","tag-desarrollo","tag-diseno","tag-html","tag-js","tag-plugins","tag-temas","tag-web","tag-wordpress","entry entry-center"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfPuedo hacer mi Plugin WordPress? - Blog de Nicolas<\/title>\n<meta name=\"description\" content=\"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfPuedo hacer mi Plugin WordPress?\" \/>\n<meta property=\"og:description\" content=\"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201cwp-content\/plugins\u201d, dentro\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de Nicolas\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-07T10:44:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Blog de Nicolas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"\u00bfPuedo hacer mi Plugin WordPress?\" \/>\n<meta name=\"twitter:description\" content=\"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201cwp-content\/plugins\u201d, dentro\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Blog de Nicolas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/\"},\"author\":{\"name\":\"Blog de Nicolas\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#\\\/schema\\\/person\\\/d1ed6b5e610e5abf520b0df0fca03a12\"},\"headline\":\"\u00bfPuedo hacer mi Plugin WordPress?\",\"datePublished\":\"2022-11-07T10:44:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/\"},\"wordCount\":1769,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2022\\\/11\\\/best-of-wordpress-plugins.webp\",\"keywords\":[\"css\",\"desarrollo\",\"dise\u00f1o\",\"html\",\"js\",\"plugins\",\"temas\",\"web\",\"Wordpress\"],\"articleSection\":[\"WordPress\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/\",\"name\":\"\u00bfPuedo hacer mi Plugin WordPress? - Blog de Nicolas\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2022\\\/11\\\/best-of-wordpress-plugins.webp\",\"datePublished\":\"2022-11-07T10:44:00+00:00\",\"description\":\"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#primaryimage\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2022\\\/11\\\/best-of-wordpress-plugins.webp\",\"contentUrl\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2022\\\/11\\\/best-of-wordpress-plugins.webp\",\"width\":1000,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/2022\\\/11\\\/07\\\/puedo-hacer-mi-plugin-wordpress\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfPuedo hacer mi Plugin WordPress?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#website\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/\",\"name\":\"Blog de Nicolas\",\"description\":\"Nicolas Desarrollo WordPress Multisite\",\"publisher\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#organization\",\"name\":\"Blog de Nicolas\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2025\\\/01\\\/prenom-nicolas-1-300x73-1.png\",\"contentUrl\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2025\\\/01\\\/prenom-nicolas-1-300x73-1.png\",\"width\":300,\"height\":73,\"caption\":\"Blog de Nicolas\"},\"image\":{\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/#\\\/schema\\\/person\\\/d1ed6b5e610e5abf520b0df0fca03a12\",\"name\":\"Blog de Nicolas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/avatars\\\/7\\\/1737055720-bpfull.jpg\",\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/avatars\\\/7\\\/1737055720-bpfull.jpg\",\"contentUrl\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/wp-content\\\/uploads\\\/avatars\\\/7\\\/1737055720-bpfull.jpg\",\"caption\":\"Blog de Nicolas\"},\"url\":\"https:\\\/\\\/nicolas.cat\\\/blogdnicolas\\\/author\\\/blogdnicolas\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfPuedo hacer mi Plugin WordPress? - Blog de Nicolas","description":"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfPuedo hacer mi Plugin WordPress?","og_description":"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201cwp-content\/plugins\u201d, dentro","og_url":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/","og_site_name":"Blog de Nicolas","article_published_time":"2022-11-07T10:44:00+00:00","og_image":[{"width":1000,"height":500,"url":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","type":"image\/webp"}],"author":"Blog de Nicolas","twitter_card":"summary_large_image","twitter_title":"\u00bfPuedo hacer mi Plugin WordPress?","twitter_description":"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro wordpress, y buscar el archivo llamado \u201cwp-content\/plugins\u201d, dentro","twitter_image":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","twitter_misc":{"Escrito por":"Blog de Nicolas","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#article","isPartOf":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/"},"author":{"name":"Blog de Nicolas","@id":"https:\/\/nicolas.cat\/blogdnicolas\/#\/schema\/person\/d1ed6b5e610e5abf520b0df0fca03a12"},"headline":"\u00bfPuedo hacer mi Plugin WordPress?","datePublished":"2022-11-07T10:44:00+00:00","mainEntityOfPage":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/"},"wordCount":1769,"commentCount":0,"publisher":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/#organization"},"image":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","keywords":["css","desarrollo","dise\u00f1o","html","js","plugins","temas","web","Wordpress"],"articleSection":["WordPress"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/","url":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/","name":"\u00bfPuedo hacer mi Plugin WordPress? - Blog de Nicolas","isPartOf":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","datePublished":"2022-11-07T10:44:00+00:00","description":"Lo primero que debemos realizar para crear un plugin de WordPress es entrar en la carpeta donde encontramos toda la informaci\u00f3n sobre nuestro","breadcrumb":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#primaryimage","url":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","contentUrl":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2022\/11\/best-of-wordpress-plugins.webp","width":1000,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/nicolas.cat\/blogdnicolas\/2022\/11\/07\/puedo-hacer-mi-plugin-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/nicolas.cat\/blogdnicolas\/"},{"@type":"ListItem","position":2,"name":"\u00bfPuedo hacer mi Plugin WordPress?"}]},{"@type":"WebSite","@id":"https:\/\/nicolas.cat\/blogdnicolas\/#website","url":"https:\/\/nicolas.cat\/blogdnicolas\/","name":"Blog de Nicolas","description":"Nicolas Desarrollo WordPress Multisite","publisher":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nicolas.cat\/blogdnicolas\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/nicolas.cat\/blogdnicolas\/#organization","name":"Blog de Nicolas","url":"https:\/\/nicolas.cat\/blogdnicolas\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/nicolas.cat\/blogdnicolas\/#\/schema\/logo\/image\/","url":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2025\/01\/prenom-nicolas-1-300x73-1.png","contentUrl":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/sites\/5\/2025\/01\/prenom-nicolas-1-300x73-1.png","width":300,"height":73,"caption":"Blog de Nicolas"},"image":{"@id":"https:\/\/nicolas.cat\/blogdnicolas\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/nicolas.cat\/blogdnicolas\/#\/schema\/person\/d1ed6b5e610e5abf520b0df0fca03a12","name":"Blog de Nicolas","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/avatars\/7\/1737055720-bpfull.jpg","url":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/avatars\/7\/1737055720-bpfull.jpg","contentUrl":"https:\/\/nicolas.cat\/blogdnicolas\/wp-content\/uploads\/avatars\/7\/1737055720-bpfull.jpg","caption":"Blog de Nicolas"},"url":"https:\/\/nicolas.cat\/blogdnicolas\/author\/blogdnicolas\/"}]}},"_links":{"self":[{"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/posts\/9818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/comments?post=9818"}],"version-history":[{"count":0,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/posts\/9818\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/media\/9825"}],"wp:attachment":[{"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/media?parent=9818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/categories?post=9818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicolas.cat\/blogdnicolas\/wp-json\/wp\/v2\/tags?post=9818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}