{"id":233781,"date":"2023-02-22T17:42:00","date_gmt":"2023-02-22T14:42:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233781"},"modified":"2022-11-11T12:21:45","modified_gmt":"2022-11-11T09:21:45","slug":"como-controlar-los-bloques-de-gutenberg-para-publicaciones-en-wordpress-deshabilitar-bloques-y-plantillas-de-bloques","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-controlar-los-bloques-de-gutenberg-para-publicaciones-en-wordpress-deshabilitar-bloques-y-plantillas-de-bloques\/","title":{"rendered":"C\u00f3mo controlar los bloques de Gutenberg para publicaciones en WordPress: deshabilitar bloques y plantillas de bloques"},"content":{"rendered":"\n<p>El nuevo editor de WordPress, Gutenberg, le da al autor una gran flexibilidad para crear contenido rico. Pero en algunos casos, es posible que deba limitar esto un poco, ya sea como webmaster del sitio o como desarrollador de temas. En esta publicaci\u00f3n, veremos c\u00f3mo podemos proporcionar limitaciones de bloques en Gutenberg usando PHP.<\/p>\n<p>Hay una funcionalidad integrada para establecer algunas limitaciones en bloques con las que muchos a\u00fan no est\u00e1n familiarizados. Esto puede ser \u00fatil cuando necesita que ciertas publicaciones sigan el mismo dise\u00f1o o contenido, o si desea ayudar a los autores no t\u00e9cnicos a no sentirse abrumados por la cantidad de bloques en Gutenberg. Otro ejemplo incluye agregar autom\u00e1ticamente los bloques de anuncios necesarios (si tiene un complemento de anuncios) entre los textos de las publicaciones. Puede forzar esto o usar estas t\u00e9cnicas para ayudar a los autores a recordar agregarlas.<\/p>\n<p>En esta publicaci\u00f3n, veremos dos formas en que puede controlar los bloques en WordPress Gutenberg. Una forma es limitar qu\u00e9 tipo de bloques se pueden agregar. En otras palabras, elimine ciertos tipos de bloques que no desea que est\u00e9n disponibles. Podemos hacer esto espec\u00edficamente por tipo de publicaci\u00f3n o globalmente. La otra forma es usando plantillas de bloques. WordPress le ofrece decidir un conjunto de bloques predefinidos cuando crea una nueva publicaci\u00f3n. Esto se hace por tipo de publicaci\u00f3n. Con las plantillas de bloques, puede ofrecerle al autor los bloques iniciales para ayudarlo a escribir la publicaci\u00f3n, o puede bloquear los bloques en su lugar para que el autor no pueda cambiar su posici\u00f3n o agregar otros nuevos.<\/p>\n<p>Puede hacer ambas cosas con PHP o Javascript. Esta gu\u00eda cubrir\u00e1 la forma de PHP.<\/p>\n<h2>Eliminar tipos de bloques<\/h2>\n<h3>Lista negra<\/h3>\n<p>Hay un filtro PHP en WordPress llamado <code>allowed_block_types<\/code>. Este filtro te da dos par\u00e1metros; una matriz de todos los bloques y el objeto de publicaci\u00f3n. Todo lo que tenemos que hacer es administrar la matriz antes de devolverla. Y debido a que tambi\u00e9n obtenemos el objeto de publicaci\u00f3n en el filtro, tambi\u00e9n podemos agregar reglas por tipo de publicaci\u00f3n u otra metainformaci\u00f3n de publicaci\u00f3n.<\/p>\n<p>La matriz de bloques consta de cadenas de nombres con espacio de nombres del bloque. Todos los bloques en WordPress requieren un espacio de nombres prefijado antes del nombre del bloque. Para los bloques principales de WordPress, el espacio de nombres es &quot; <code>core\/<\/code>&quot; y para los bloques incrustados de WordPress, el espacio de nombres es &quot; <code>core-embed\/<\/code>&quot;. Por ejemplo, el bloque de encabezado tiene el nombre &quot; <code>core\/heading<\/code>&quot; en esta matriz. Cre\u00e9 una descripci\u00f3n general completa de los nombres de todos los tipos de bloques en mi publicaci\u00f3n sobre <a href=\"https:\/\/awhitepixel.com\/blog\/wordpress-gutenberg-access-parse-blocks-with-php\/#block-names\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">C\u00f3mo para acceder y analizar los bloques de una publicaci\u00f3n<\/a>.<\/p>\n<p>Aqu\u00ed hay un ejemplo r\u00e1pido del uso del filtro para eliminar todos los bloques excepto el p\u00e1rrafo. Esto se aplicar\u00e1 a todos los tipos de publicaciones.<\/p>\n<pre><code>add_filter('allowed_block_types', function($block_types, $post) {\n    return ['core\/paragraph'];\n}, 10, 2);<\/code><\/pre>\n<p>Si agrega este c\u00f3digo en su tema <code>functions.php<\/code>o archivo de complemento, el resultado es que Gutenberg rechaza por completo cualquier otro bloque que no sea el p\u00e1rrafo. Ni siquiera podr\u00e1s ver ning\u00fan otro bloque, ni puedes intentar atraerlos escribiendo &quot; <code>\/<\/code>&quot; en la publicaci\u00f3n (atajo de bloque) o busc\u00e1ndolos.<\/p>\n<\/p>\n<p>Podemos definir los bloques que queremos mantener o eliminar por tipo de publicaci\u00f3n. Simplemente verificamos la propiedad <code>post_type<\/code>en el objeto de publicaci\u00f3n. En el ejemplo de c\u00f3digo a continuaci\u00f3n, definimos una nueva matriz de los bloques que queremos permitir y agregamos esta regla solo para el tipo de publicaci\u00f3n personalizada &#8216; <code>book<\/code>&#8216;.<\/p>\n<pre><code>add_filter('allowed_block_types', function($block_types, $post) {\n    $allowed = [\n        'core\/paragraph',\n        'core\/heading',\n        'core\/image'\n    ];\n    if ($post-&gt;post_type == 'book') {\n        return $allowed;\n    }\n    return $block_types;\n}, 10, 2);<\/code><\/pre>\n<p>Con el c\u00f3digo anterior, obtiene todos los bloques al editar publicaciones y p\u00e1ginas, pero al editar el tipo de publicaci\u00f3n personalizado &#8216; <code>book<\/code>&#8216;, solo puede agregar p\u00e1rrafos, encabezados e im\u00e1genes individuales.<\/p>\n<p>Usa tu imaginaci\u00f3n para agregar tus propias reglas. Debido a que tenemos el objeto de publicaci\u00f3n, podemos acceder a la mayor parte de la informaci\u00f3n que necesitar\u00edamos. \u00bfQuiz\u00e1s necesite limitar las opciones de bloque por un valor meta de publicaci\u00f3n? Por ejemplo, por plantilla de p\u00e1gina elegida, categor\u00eda de publicaci\u00f3n elegida u otra cosa.<\/p>\n<h3>Lista blanca<\/h3>\n<p>Por lo que puedo ver, solo puede incluir bloques en la lista blanca (decidir cu\u00e1les eliminar, en lugar de decidir cu\u00e1l conservar) anulando el registro de los bloques en un punto determinado. Y tienes que hacerlo con Javascript y no con PHP.<\/p>\n<p>No entrar\u00e9 en detalles sobre esto, pero deber\u00e1 poner en cola un archivo Javascript cargado <code>init<\/code>o <code>enqueue_block_editor_assets<\/code>enganchado, con <code>wp-dom-ready<\/code>y <code>wp-blocks<\/code>como dependencia. Dentro del script, puede configurar una variable de las que desea eliminar, siguiendo las mismas reglas para espacios de nombres y nombres de bloques anteriores. Y para cada nombre de bloque, llama a la funci\u00f3n <code>unregisterBlockType()<\/code>del <code>wp.blocks<\/code>paquete. Por lo general, deber\u00e1 hacer esto dentro de una funci\u00f3n <code>wp.domReady()<\/code>para asegurarse de que el orden de carga del script sea correcto.<\/p>\n<p>Algo como esto:<\/p>\n<pre><code>var removeBlocks = [\n    'core\/paragraph',\n    'core\/heading',\n    'core\/image'\n];\n\u00a0\nwp.domReady(function() {\n    removeBlocks.forEach(function(blockName) {\n        wp.blocks.unregisterBlockType(blockName);\n    });\n});<\/code><\/pre>\n<p>Eliminar tipos de bloques es una forma de controlar bloques en Gutenberg. Veamos la otra forma, quiz\u00e1s m\u00e1s divertida, de controlar los bloques: las plantillas de bloques.<\/p>\n<h2>Plantillas de bloque<\/h2>\n<p>Otra forma de controlar los bloques de Gutenberg en WordPress es mediante el uso de plantillas de bloques. WordPress tiene una funcionalidad que le permite completar nuevas publicaciones con un conjunto de bloques predefinidos. Esto puede ser \u00fatil para ayudar a los autores mostr\u00e1ndoles una sugerencia de estructura de bloque. Tambi\u00e9n puede optar por bloquear estos bloques precargados, por lo que no permite que los autores reordenen o agreguen otros bloques. Esto es \u00fatil cuando desea que las publicaciones tengan una estructura y un dise\u00f1o espec\u00edficos; por ejemplo, asegurarse de que todas las publicaciones de ese tipo de publicaci\u00f3n tengan su informaci\u00f3n estructurada exactamente de la misma manera.<\/p>\n<p>Podemos agregar plantillas de bloque con un nuevo par\u00e1metro a la <code>[register_post_type](https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/)()<\/code>funci\u00f3n que se usa para registrar tipos de publicaciones personalizadas (nota: el nuevo par\u00e1metro a\u00fan no se ha agregado a la documentaci\u00f3n). Tambi\u00e9n puede agregar o ajustar los par\u00e1metros en los tipos de publicaciones existentes, como publicaciones y p\u00e1ginas; consulte c\u00f3mo hacerlo a continuaci\u00f3n.<\/p>\n<p>El nuevo par\u00e1metro para <code>register_post_type()<\/code>es &#8216; <code>template<\/code>&#8216;. Como valor para &#8216; <code>template<\/code>&#8216;, debe proporcionar una matriz de bloques. Cada bloque tambi\u00e9n debe ser una matriz. Como m\u00ednimo, debe proporcionar el primer elemento de la matriz; el nombre del bloque (p. ej <code>core\/paragraph<\/code>. ). Opcionalmente, puede agregar un segundo elemento de matriz para atributos y un tercer elemento de matriz para bloques anidados (por ejemplo, bloques de portada, columnas). Ser\u00e1 m\u00e1s claro cuando veas el c\u00f3digo.<\/p>\n<p>Comencemos de forma sencilla. Supongamos que tenemos una <code>register_post_type()<\/code>llamada de funci\u00f3n para registrar un tipo de publicaci\u00f3n personalizada &#8216; <code>book<\/code>&#8216;. Queremos completar previamente todas las publicaciones nuevas de este tipo de publicaci\u00f3n con un bloque de p\u00e1rrafo con un marcador de posici\u00f3n que le diga al autor lo que debe escribir.<\/p>\n<pre><code>add_action('init', function() {\n    register_post_type('book', [\n        'label' =&gt; __('Books', 'txtdomain'),\n        'public' =&gt; true,\n        ...\n        'template' =&gt; [\n            ['core\/paragraph', ['placeholder' =&gt; __('Write your intro here...', 'txtdomain')]],\n        ],\n    ]);\n});<\/code><\/pre>\n<p>Tenga en cuenta que la matriz de atributos (con &#8216;marcador de posici\u00f3n&#8217; en ella) es opcional. Ahora, con este par\u00e1metro de &#8216;plantilla&#8217; cada vez que creamos nuevas publicaciones, se crear\u00e1 con un bloque de p\u00e1rrafo que tiene el marcador de posici\u00f3n &quot;Escribe tu introducci\u00f3n aqu\u00ed&#8230;&quot;.<\/p>\n<p>Veamos un ejemplo m\u00e1s complicado: bloques anidados. Digamos que queremos agregar un bloque de Portada que tiene un bloque de t\u00edtulo, un p\u00e1rrafo y un bot\u00f3n dentro, alineado al centro. El t\u00edtulo y el p\u00e1rrafo tendr\u00e1n un marcador de posici\u00f3n:<\/p>\n<pre><code>'template' =&gt; [\n    ['core\/cover', ['align' =&gt; 'full', 'overlayColor' =&gt; 'blue-profile'], [\n        ['core\/heading', ['align' =&gt; 'center', 'placeholder' =&gt; __('Call to action title', 'txtdomain')]],\n        ['core\/paragraph', ['align' =&gt; 'center', 'placeholder' =&gt; __('Your text here', 'txtdomain')]],\n        ['core\/button', ['align' =&gt; 'center']]\n    ]],\n],<\/code><\/pre>\n<p>La siguiente imagen muestra lo que obtendremos cuando creemos nuevas publicaciones de libros. Parece menos intimidante que un lienzo en blanco, \u00bfverdad?<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152040-61e4d330dc012.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152040-61e4d330dc012.png\" alt=\"C\u00f3mo controlar los bloques de Gutenberg para publicaciones en WordPress: deshabilitar bloques y plantillas de bloques\" ><\/a><\/p>\n<p>Tenga en cuenta que los atributos son diferentes en cada tipo de bloque y tambi\u00e9n pueden diferir en su configuraci\u00f3n. En el ejemplo de c\u00f3digo anterior, agrego dos atributos al bloque Portada; bloquee la alineaci\u00f3n a &quot;Ancho completo&quot; y superponga el color a un color predefinido de una paleta de colores personalizada.<\/p>\n<p>Las alineaciones de bloque &quot;Ancho ancho&quot; y &quot;Ancho completo&quot; deben admitirse espec\u00edficamente en su tema. Tengo una publicaci\u00f3n que explica <a href=\"https:\/\/awhitepixel.com\/blog\/developer-guide-using-wordpress-gutenberg-for-creating-frontpages-and-landing-pages\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">c\u00f3mo agregar soporte en su tema para alineaciones de bloques adicionales<\/a> si no est\u00e1 familiarizado con esto. En segundo lugar, mi tema proporciona una paleta de colores personalizada de Gutenberg donde uno de los colores de la paleta se llama &#8216;perfil azul&#8217;. Esto probablemente no existir\u00e1 en su c\u00f3digo. El enlace anterior tambi\u00e9n explica esto si no est\u00e1 familiarizado con la paleta personalizada de Gutenberg.<\/p>\n<p>La raz\u00f3n por la que elijo proporcionar un color superpuesto como atributo es por c\u00f3mo se comporta el bloque Cover. Cuando crea un bloque de portada, comienza pidi\u00e9ndole que elija entre configurar una imagen de fondo o elegir un color de fondo. Hasta que el autor elija activamente uno de estos, el bloque Portada oculta cualquier contenido que tenga (el encabezado, el p\u00e1rrafo y el bot\u00f3n que agregamos). Aparecer\u00e1n de repente despu\u00e9s de elegir una imagen o un color. Por lo tanto, para evitar confusiones, he preseleccionado un color de fondo para que el autor vea todos los bloques dentro de inmediato. El color siempre se puede cambiar en el Inspector (barra lateral) de todos modos.<\/p>\n<h3>Bloqueo de la plantilla de bloque<\/h3>\n<p>Con la plantilla de bloque proporcionada, el autor puede reorganizar y eliminar cualquiera de los bloques precargados, as\u00ed como agregar nuevos bloques en cualquier lugar que desee. Si desea evitar esto, hay otro par\u00e1metro para <code>register_post_type()<\/code>: &#8216; <code>template_lock<\/code>&#8216;.<\/p>\n<p>El <code>template_lock<\/code>par\u00e1metro &#8216; &#8216; acepta dos valores; &#8216; <code>all<\/code>&#8216; o &#8216; <code>insert<\/code>&#8216;.<\/p>\n<p>Establecer &#8216; <code>template_lock<\/code>&#8216; en &#8216; <code>all<\/code>&#8216; impide completamente que los autores reorganicen, eliminen o agreguen nuevos bloques a su plantilla de bloques. Solo pueden editar el contenido y la configuraci\u00f3n de los bloques definidos como plantilla de bloque. Esto es \u00fatil en los casos en los que desea que todos los tipos de publicaciones consten de los mismos bloques en el mismo orden, ni m\u00e1s ni menos.<\/p>\n<p>El uso de &#8216; <code>insert<\/code>&#8216; para &#8216; <code>template_lock<\/code>&#8216; permite a los autores reorganizar los bloques en la plantilla de bloques. Pero los autores a\u00fan no pueden agregar nuevos bloques ni eliminar ninguno de los bloques.<\/p>\n<p>As\u00ed es como bloquear\u00eda completamente la plantilla de bloque para el tipo de publicaci\u00f3n personalizada &#8216; <code>book<\/code>&#8216;:<\/p>\n<pre><code>add_action('init', function() {\n    register_post_type('book', [\n        'label' =&gt; __('Books', 'txtdomain'),\n        'public' =&gt; true,\n        ...\n        'template' =&gt; [\n            ['core\/cover', ['align' =&gt; 'full', 'overlayColor' =&gt; 'blue-profile'], [\n                ['core\/heading', ['align' =&gt; 'center', 'placeholder' =&gt; __('Call to action title', 'txtdomain')]],\n                ['core\/paragraph', ['align' =&gt; 'center', 'placeholder' =&gt; __('Your text here', 'txtdomain')]],\n                ['core\/button', ['align' =&gt; 'center']]\n            ]],\n        ],\n        'template_lock' =&gt; 'all',\n    ]);\n});<\/code><\/pre>\n<p>El uso de una plantilla de bloque bloqueado en Gutenberg se ver\u00e1 a continuaci\u00f3n. Tenga en cuenta que faltan los \u00edconos de acci\u00f3n para reorganizar bloques, as\u00ed como tambi\u00e9n faltan los enlaces de eliminaci\u00f3n de bloques en el men\u00fa. Tampoco hay \u00edconos de acci\u00f3n para agregar nuevos bloques (el peque\u00f1o &quot;+&quot;) en ninguna parte.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152040-61e4d33596f0b.gif\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152040-61e4d33596f0b.gif\" alt=\"C\u00f3mo controlar los bloques de Gutenberg para publicaciones en WordPress: deshabilitar bloques y plantillas de bloques\" ><\/a><\/p>\n<h3>Ajuste de plantillas de bloque para tipos de publicaciones existentes<\/h3>\n<p>Si desea utilizar plantillas de bloque en publicaciones o p\u00e1ginas, tambi\u00e9n puede hacerlo. Engancha una funci\u00f3n <code>init<\/code>y usa <code>[get_post_type_object](https:\/\/developer.wordpress.org\/reference\/functions\/get_post_type_object\/)()<\/code>. Proporcione el tipo de publicaci\u00f3n que desea como par\u00e1metro (ya sea &#8216; <code>post<\/code>&#8216; o &#8216; <code>page<\/code>&#8216;). Esto devuelve un objeto al que puede asignar la propiedad &#8216; <code>template<\/code>&#8216; y &#8216; <code>template_lock<\/code>&#8216;.<\/p>\n<p>Este es un ejemplo de c\u00f3mo agregar la misma plantilla de bloque y propiedad de bloqueo que arriba en las p\u00e1ginas:<\/p>\n<pre><code>add_action('init', function() {\n    $page_post_type = get_post_type_object('page');\n    $page_post_type-&gt;template = [\n        ['core\/cover', ['align' =&gt; 'full', 'overlayColor' =&gt; 'blue-profile'], [\n            ['core\/heading', ['align' =&gt; 'center', 'placeholder' =&gt; __('Call to action title', 'txtdomain')]],\n            ['core\/paragraph', ['align' =&gt; 'center', 'placeholder' =&gt; __('Your text here', 'txtdomain')]],\n            ['core\/button', ['align' =&gt; 'center']]\n        ]],\n    ];\n    $page_post_type-&gt;template_lock = 'all';\n});<\/code><\/pre>\n<h2>Conclusi\u00f3n<\/h2>\n<p>En esta publicaci\u00f3n hemos aprendido c\u00f3mo lograr un mayor control de los bloques en el editor de WordPress Gutenberg. Hay muchos beneficios de hacer esto, especialmente en combinaci\u00f3n con tipos de publicaciones personalizadas que deben seguir una estructura espec\u00edfica. El uso de las t\u00e9cnicas anteriores lo ayudar\u00e1 a agilizar m\u00e1s su proceso, tanto como webmaster (ayudando a las personas a escribir mejores publicaciones) como desarrollador de temas (garantizando un dise\u00f1o com\u00fan). Las plantillas de bloques bloqueados pueden ser una soluci\u00f3n diferente a las plantillas de publicaciones personalizadas y metadatos de publicaciones.<\/p>\n<p>La personalizaci\u00f3n de plantillas de bloques sigue siendo una caracter\u00edstica bastante oculta de Gutenberg en este momento. Pero espero que cambie a medida que Gutenberg se desarrolle y obtenga un lugar m\u00e1s familiar dentro de WordPress.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Explica c\u00f3mo deshabilitar bloques espec\u00edficos en WordPress Gutenberg y c\u00f3mo agregar y definir plantillas de bloques para tipos de publicaciones. Todo en PHP.<\/p>\n","protected":false},"author":1,"featured_media":224326,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,810,716,716,831,935,935,914,1110,914,810,831,840,840,861,861],"tags":[1172],"class_list":{"0":"post-233781","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-codigo","8":"category-complementos","9":"category-desarrollador","11":"category-guia-para-principiantes","12":"category-gutenberg-2","14":"category-otro","15":"category-n-a","19":"category-tutoriales","21":"category-wordpress-2","23":"tag-affiai-es"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/233781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=233781"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/233781\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224326"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=233781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=233781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=233781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}