{
    "componentChunkName": "component---src-pages-publicaciones-index-js",
    "path": "/publicaciones/",
    "result": {"data":{"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"Web a medida, WordPress o No-Code: cuál elegir en 2026","description":"La decisión que más dinero ahorra (o cuesta) a un negocio. Un marco de 3 preguntas, ventajas reales y ejemplos para elegir sin equivocarte.","slug":"/publicaciones/web-a-medida-vs-wordpress-vs-no-code","date":"2026-09-11T00:00:00.000Z","tags":["Desarrollo Web","Estrategia","Negocios"],"draft":false},"html":"<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;margin:0 0 2.5rem;background:#141414;border:1px solid rgba(100,255,218,0.2);\">\n  <!-- 👉 Cuando publiques el vídeo, sustituye TODO este bloque por el iframe de YouTube:\n  <iframe src=\"https://www.youtube.com/embed/TU_VIDEO_ID\" title=\"Web a medida, WordPress o No-Code\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;\"></iframe>\n  -->\n  <div style=\"position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#64ffda;font-family:monospace;font-size:15px;\">▶ &nbsp;Vídeo en YouTube · próximamente</div>\n</div>\n<p>Cada semana hablo con negocios que pagaron por la web equivocada. No porque la tecnología fuera mala —WordPress, No-Code y el desarrollo a medida son todos buenos—, sino porque <strong>eligieron la herramienta antes de entender el problema</strong> que debía resolver.</p>\n<p>En esta guía te doy el mismo marco que uso como consultor para decidir entre las tres opciones, con ejemplos reales y las tres preguntas que casi siempre resuelven la duda.</p>\n<h2>El error de empezar por la herramienta</h2>\n<p>La pregunta no es \"¿qué tecnología uso?\". Es <strong>\"¿qué papel juega esta web en mi negocio?\"</strong>.</p>\n<p>Hay un eje que lo ordena casi todo: <strong>presencia ↔ producto</strong>. En un extremo, una web que es un folleto digital: informa y da confianza. En el otro, una web que <em>es</em> el negocio: por ahí entran los ingresos, se operan procesos y se integran herramientas. Dónde caigas en ese eje decide la tecnología, no al revés.</p>\n<h2>WordPress: cuándo sí, cuándo no</h2>\n<p><strong>Cuándo sí:</strong> webs de presencia, blogs, catálogos, proyectos con presupuesto ajustado y cuando quieres autonomía para editar el contenido tú mismo. Es maduro, económico y hay talento de sobra.</p>\n<p><strong>Cuándo no:</strong> cuando necesitas lógica de negocio compleja, mucho tráfico, integraciones a medida o rendimiento crítico. El error clásico: llenarlo de plugins hasta que se vuelve lento e inseguro.</p>\n<h2>No-Code: rápido, con techo</h2>\n<p>Herramientas como Webflow, Framer o Bubble.</p>\n<p><strong>Cuándo sí:</strong> para validar una idea o lanzar un MVP rápido, o para una landing potente sin equipo técnico. Llegas al mercado en días, no meses.</p>\n<p><strong>Cuándo no:</strong> cuando escalas. Los límites de la plataforma y sus costes crecientes te acaban atrapando (el famoso <em>vendor lock-in</em>). No-code no es \"de juguete\", pero tiene techo.</p>\n<h2>Desarrollo a medida: cuando el software es el negocio</h2>\n<p><strong>Cuándo sí:</strong> cuando tu negocio <em>depende</em> del producto y necesitas velocidad, escala e integraciones —con tu ERP, tu CRM, pasarelas de pago o una experiencia única que ninguna plantilla te da.</p>\n<p><strong>Cuándo no:</strong> si solo necesitas presencia. Ahí, pagar por desarrollo a medida es tirar dinero.</p>\n<p><strong>Un caso real:</strong> un negocio gestionaba el alquiler de equipo con una libreta y llamadas. Hoy tiene una plataforma con configurador de packs, pago con Stripe y gestión de entregas. Ahí sí tocaba a medida —pero no un día antes.</p>\n<h2>El marco de 3 preguntas</h2>\n<p>Antes de invertir un euro, respóndete:</p>\n<ol>\n<li><strong>¿Tu web es un folleto o una máquina de ventas/operación?</strong></li>\n<li><strong>¿Cuánto te cuesta —en dinero real— que falle o vaya lenta?</strong></li>\n<li><strong>¿Necesita integrarse con otras herramientas o crecer mucho?</strong></li>\n</ol>\n<p>Si las tres apuntan a \"folleto, poco coste, sin integraciones\", WordPress o No-Code te sobran. Si apuntan a \"máquina, coste alto, integraciones y escala\", es a medida.</p>\n<h2>Conclusión</h2>\n<p>No hay una tecnología \"mejor\": hay una adecuada para el papel que tu web juega en tu negocio. Elige el problema primero; la herramienta es la consecuencia.</p>\n<p>Si tienes esa decisión encima de la mesa y no quieres adivinar, <a href=\"/#agenda\">agenda una consulta de 30 minutos</a> y lo vemos con tu caso concreto.</p>"}},{"node":{"frontmatter":{"title":"Tarjetas clicables y accesibles","description":"Tarjetas clicables con varios enlaces internos","slug":"/publicaciones/clickable-cards","date":"2021-04-21T00:00:00.000Z","tags":["Accesibilidad","CSS"],"draft":false},"html":"<p><a href=\"https://codepen.io/bchiang7/pen/xxRBvgd?editors=1100\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Demo en Codepen</a></p>\n<p>Disposición de tarjeta donde la tarjeta en sí no es un enlace, pero toda la tarjeta es clicable (mediante un pseudo-elemento <code class=\"language-text\">:before</code> sobre el <code class=\"language-text\">&lt;a></code> principal). Los enlaces dentro de la tarjeta siguen siendo clicables.</p>\n<h2>CSS</h2>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.grid__item</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">&amp;:hover,\n  &amp;:focus-within</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #eee<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> relative<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 1<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">h2</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token selector\">a</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> static<span class=\"token punctuation\">;</span>\n\n      <span class=\"token selector\">&amp;:hover,\n      &amp;:focus</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> blue<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n\n      <span class=\"token selector\">&amp;:before</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">content</span><span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">;</span>\n        <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> block<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> absolute<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">z-index</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">height</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">top</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">left</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">transition</span><span class=\"token punctuation\">:</span> background-color 0.1s ease-out<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> transparent<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"Modo oscuro sin parpadeo","description":"Cómo implementar modo oscuro sin el parpadeo del tema por defecto","slug":"/publicaciones/dark-mode-toggle","date":"2021-04-21T00:00:00.000Z","tags":["Temas","Modo Oscuro"],"draft":false},"html":"<p>Botón de modo oscuro sin el parpadeo del tema por defecto. Las claves:</p>\n<ul>\n<li>Variables CSS para el color del tema</li>\n<li>Pon el atributo <code class=\"language-text\">data-theme</code> en <code class=\"language-text\">&lt;html></code>, no en <code class=\"language-text\">&lt;body></code>, para poder ejecutar el JS antes de que el DOM termine de renderizar</li>\n<li>Ejecuta la comprobación de <code class=\"language-text\">localStorage</code> dentro del <code class=\"language-text\">&lt;head></code></li>\n<li>El JS del botón (manejador del clic) puede ir después del render</li>\n</ul>\n<h2>HTML</h2>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">DOCTYPE</span> <span class=\"token name\">html</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>es<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">data-theme</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>light<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>utf-8<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    ...\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n      <span class=\"token comment\">// Si hay un tema guardado en localStorage, aplícalo al &lt;html></span>\n      <span class=\"token keyword\">const</span> localStorageTheme <span class=\"token operator\">=</span> localStorage<span class=\"token punctuation\">.</span><span class=\"token function\">getItem</span><span class=\"token punctuation\">(</span><span class=\"token string\">'theme'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>localStorageTheme<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'data-theme'</span><span class=\"token punctuation\">,</span> localStorageTheme<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    </span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>theme-toggle<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>button</span>\n        <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>theme-toggle-btn js-theme-toggle<span class=\"token punctuation\">\"</span></span>\n        <span class=\"token attr-name\">aria-label</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>Activar modo oscuro<span class=\"token punctuation\">\"</span></span>\n        <span class=\"token attr-name\">title</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>Activar modo oscuro<span class=\"token punctuation\">\"</span></span>\n      <span class=\"token punctuation\">></span></span>\n        <span class=\"token comment\">&lt;!--\n        &lt;svg class=\"light-mode\">\n          &lt;use xlink:href=\"#sun\">&lt;/use>\n        &lt;/svg>\n        &lt;svg class=\"dark-mode\">\n          &lt;use xlink:href=\"#moon\">&lt;/use>\n        &lt;/svg>\n        --></span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>button</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>app.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2>Variables CSS</h2>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">:root</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token selector\">[data-theme='dark']</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">--bg</span><span class=\"token punctuation\">:</span> #000000<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">--text</span><span class=\"token punctuation\">:</span> #ffffff<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2>JavaScript</h2>\n<div class=\"gatsby-code-title\">app.js</div>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token keyword\">const</span> themeToggleBtn <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">querySelector</span><span class=\"token punctuation\">(</span><span class=\"token string\">'.js-theme-toggle'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nthemeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">addEventListener</span><span class=\"token punctuation\">(</span><span class=\"token string\">'click'</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">onToggleClick</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">onToggleClick</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> theme <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span>dataset<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">const</span> themeTo <span class=\"token operator\">=</span> theme <span class=\"token operator\">&amp;&amp;</span> theme <span class=\"token operator\">===</span> <span class=\"token string\">'light'</span> <span class=\"token operator\">?</span> <span class=\"token string\">'dark'</span> <span class=\"token operator\">:</span> <span class=\"token string\">'light'</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">const</span> label <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">Activar modo </span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>themeTo <span class=\"token operator\">===</span> <span class=\"token string\">'dark'</span> <span class=\"token operator\">?</span> <span class=\"token string\">'claro'</span> <span class=\"token operator\">:</span> <span class=\"token string\">'oscuro'</span><span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">;</span>\n\n  document<span class=\"token punctuation\">.</span>documentElement<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'data-theme'</span><span class=\"token punctuation\">,</span> themeTo<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  localStorage<span class=\"token punctuation\">.</span><span class=\"token function\">setItem</span><span class=\"token punctuation\">(</span><span class=\"token string\">'theme'</span><span class=\"token punctuation\">,</span> themeTo<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  themeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'aria-label'</span><span class=\"token punctuation\">,</span> label<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  themeToggleBtn<span class=\"token punctuation\">.</span><span class=\"token function\">setAttribute</span><span class=\"token punctuation\">(</span><span class=\"token string\">'title'</span><span class=\"token punctuation\">,</span> label<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2>Recursos</h2>\n<ul>\n<li><a href=\"https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/</a></li>\n<li><a href=\"https://css-tricks.com/flash-of-inaccurate-color-theme-fart/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://css-tricks.com/flash-of-inaccurate-color-theme-fart/</a></li>\n<li><a href=\"https://mxb.dev/blog/color-theme-switcher/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://mxb.dev/blog/color-theme-switcher/</a></li>\n<li><a href=\"https://www.joshwcomeau.com/react/dark-mode/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://www.joshwcomeau.com/react/dark-mode/</a></li>\n<li><a href=\"https://web.dev/prefers-color-scheme/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://web.dev/prefers-color-scheme/</a></li>\n</ul>"}},{"node":{"frontmatter":{"title":"Error de Docker Compose","description":"Discrepancias de versión en docker-compose","slug":"/publicaciones/docker-error","date":"2019-12-13","tags":["WordPress","Docker"],"draft":false},"html":"<h2>Problema</h2>\n<p>Hace poco, mientras actualizaba <a href=\"https://github.com/Upstatement/skela-wp-theme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Skela</a> con webpack, me encontré con un error raro: no podía ejecutar un script sencillo:</p>\n<div class=\"gatsby-code-title\">bin/composer</div>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token shebang important\">#!/bin/bash</span>\n<span class=\"token function\">docker-compose</span> <span class=\"token builtin class-name\">exec</span> <span class=\"token parameter variable\">-w</span> /var/www/html/wp-content/themes/skela wordpress <span class=\"token function\">composer</span> <span class=\"token string\">\"<span class=\"token variable\">$@</span>\"</span></code></pre></div>\n<p>Al intentar ejecutar este script con <code class=\"language-text\">./bin/composer install</code>, obtenía este error en la terminal:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">ERROR: Setting workdir <span class=\"token keyword\">for</span> <span class=\"token builtin class-name\">exec</span> is not supported <span class=\"token keyword\">in</span> API <span class=\"token operator\">&lt;</span> <span class=\"token number\">1.35</span> <span class=\"token punctuation\">(</span><span class=\"token number\">1.30</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>El error venía de la opción <code class=\"language-text\">-w</code> del comando <code class=\"language-text\">docker-compose exec</code> dentro del script <code class=\"language-text\">composer</code>.</p>\n<h2>Solución</h2>\n<p>La solución fue actualizar la versión en mi archivo <code class=\"language-text\">docker-compose.yml</code>, de la <code class=\"language-text\">3.5</code> a la <code class=\"language-text\">3.6</code>. Es curioso, porque la <code class=\"language-text\">3.5</code> no se parece en nada a la versión de API <code class=\"language-text\">1.35</code> del mensaje de error 🤷</p>\n<div class=\"gatsby-code-title\">docker-compose.yml</div>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"gatsby-highlight-code-line\"><span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'3.6'</span></span><span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">wordpress</span><span class=\"token punctuation\">:</span>\n    build<span class=\"token punctuation\">:</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"Error al publicar en WordPress","description":"Intentando crear un post sencillo en WordPress","slug":"/publicaciones/wordpress-publish-error","date":"2019-12-03T00:00:00.000Z","tags":["WordPress"],"draft":false},"html":"<h2>Problema</h2>\n<p>Hace poco, trabajando en un proyecto de WordPress con <a href=\"https://github.com/Upstatement/ups-dock\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ups Dock</a>, me encontré con un error raro: no podía actualizar ni publicar un post sencillo en mi panel de WordPress local.</p>\n<p>Se veía más o menos así:</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9a92c868095081fef605169d5c41eaee/8e621/draft-fail.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 32.57142857142857%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'130\\'%20viewBox=\\'0%200%20400%20130\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M340%2010l1%206h29V4h-30v6m34%200v6h13V5l-7-1h-6v6M29%2056c0%204%200%205-2%205l-1-3c1-4-1-7-2-5l-1%205c0%204%200%204%204%204%205%200%205%200%204-3l1-3%201%203v3h15l-1-4c0-3%200-3-2-3s-3%200-3%202c0%204%200%204-1%201l-2-4c-2%200-2%200-1%203l-1%204-1-2c0-3-1-5-3-5l-2-1-1-2c-1%200-2%201-1%205m76-3v5l-1%203-1-3c0-3-1-4-3-4-3%200-3%200-3%202v2l-1%202c1%202%202%202%208%202%203%200%206%200%205-1-2%200-1-5%201-5l1%203c0%202%200%203%202%203s2%200%201-1v-7l-2-1-1-1c0-2-5-1-6%201\\'%20fill=\\'%2364ffda\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Fallo al guardar borrador\"\n        title=\"Fallo al guardar borrador\"\n        src=\"/static/9a92c868095081fef605169d5c41eaee/39600/draft-fail.png\"\n        srcset=\"/static/9a92c868095081fef605169d5c41eaee/1aaec/draft-fail.png 175w,\n/static/9a92c868095081fef605169d5c41eaee/98287/draft-fail.png 350w,\n/static/9a92c868095081fef605169d5c41eaee/39600/draft-fail.png 700w,\n/static/9a92c868095081fef605169d5c41eaee/57cd1/draft-fail.png 1050w,\n/static/9a92c868095081fef605169d5c41eaee/4af54/draft-fail.png 1400w,\n/static/9a92c868095081fef605169d5c41eaee/8e621/draft-fail.png 2234w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>A veces el mensaje de error era algo más útil: <code class=\"language-text\">Publishing failed. Error message: The response is not a valid JSON response.</code></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ac418cb7402b96be332b88c4505db1b1/04410/publish-error.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 12%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'47\\'%20viewBox=\\'0%200%20400%2047\\'%20preserveAspectRatio=\\'none\\'/%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Error al publicar\"\n        title=\"Error al publicar\"\n        src=\"/static/ac418cb7402b96be332b88c4505db1b1/39600/publish-error.png\"\n        srcset=\"/static/ac418cb7402b96be332b88c4505db1b1/1aaec/publish-error.png 175w,\n/static/ac418cb7402b96be332b88c4505db1b1/98287/publish-error.png 350w,\n/static/ac418cb7402b96be332b88c4505db1b1/39600/publish-error.png 700w,\n/static/ac418cb7402b96be332b88c4505db1b1/04410/publish-error.png 956w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>Y al abrir la consola, veía estos errores:</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 700px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d342131a17d748d605395cbdcc072a7f/fb77c/console-errors.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 20.571428571428573%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'82\\'%20viewBox=\\'0%200%20400%2082\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M0%2041v41h401V0H0v41m147-31v4h62v-3c0-3%200-3-1-1h-1l-1-2-1%202c1%202-1%203-2%201h-1c0%202-2%201-2-1%200-4-4-5-4-2%200%202%200%202-1%201%200-2-2-3-3-1l1%202v1h-2a613%20613%200%2001-3-1c0%202-1%202-3%201V9l1-2c-1-1-3%201-3%203%201%201%200%202-1%202-2%200-2%200-1-3l1-3c-1%200-2%201-2%203l-3%203V6l-2%203c-1%203-3%204-3%202h-1c-2%202-3%201-3-1%200-3-1-4-2-2h-2c-1-2-3%200-3%202l-1%202-1-3-2-2v3l-1%202c-1%200-2-1-2-3l-1-2-1%202v3l-1-2c0-2-2-4-3-4l-1%204m78-3l-2%203-1%202-1-1h-1c-2%201-2%201-3-1%200-3-1-4-3-2h-1c-2-1-3%200-3%203v3h39v-2c0-2%200-2%201%200%200%201%201%202%207%202h6v-3c-1-4-3-5-4-1%200%202-1%202-3%202-4%200-3-2%200-2%202%200%202%200%201-1l-4-1h-7l-1%202c1%201%200%202-1%202l-1-1%201-4-2%203c0%201-2%201-2-1-1-2-3-3-3%200%200%202-1%203-2%202V8h-8c0-2-1-2-2-1m55%200v3l-1%201c-1%201-1%200-1-1%200-2-2-3-3-2h-3c-1-2-3%202-2%204%200%202%203%203%203%200h2c1%202%2055%203%2056%201l-1-2h-1l-1%201-1-2c0-3-4-4-4%200h-1V7l-1-1-1%203c0%202%200%202-1%200-2-3-4-2-5%201%200%202-2%203-2%201h-1c0%202-2%201-2-1s-3-5-4-3l-2%201-1%202-1%202c-1-1-2-1-2-3l-1-2-1%202c1%203%201%203-2%202l-1-1c2%200%202-2%200-2l-2%202-1%202V9l-1-3-1%203c0%203%200%203-4%203-3%200-4-1-4-3l-1-2m62%200l-1%205-1-2c0-3-1-4-3-2l1%202v1c-6%202%200%203%2027%203h29v-2l-1-4-1-2v2c0%203-1%205-4%203h-1l-1%201-1-2-1-2V6c-3%200-3%202-1%203%201%201%201%201-1%202h-4c-1%202-3%200-2-2l-1-3-2%201%201%201-1%202c-1%202-1%202-2%201h-2c-1%202-3%200-2-2l-1-3-2%201%201%201v2c-2%202-8%203-8%201l1-2%201%201%202%201c3%200%202-2-1-3s-5%200-5%202c0%201%200%202-2%201v-1c2-1%200-3-3-2l-2%201h-1c-1-1-1-1-1%201%201%201%200%202-1%202l-1-3-1-3-1%201M17%2016l-2%204v2h22c19%200%2022%200%2021-1%200-2-2-3-2-1l-1%201-1-3-1-2-1%203-1%202-1-4-2-1-1%202-1%203v-2c0-2-2-4-4-2h-1l-1-1c-1%200-2%201-2%203l-1%202c-2%200-2%200-1-3v-3l-1%201-2%204h-1l-1-4c-1%200-2%201-2%203l-1%202-1-4c0-1%200-2-1-1l-1%201c0%203%200%204-1%202%200-2-1-2-3-2l-2-1h-2m75%200v3c1%201%201%202-1%202l-1-1v-3l-1-1c-2%200-2%202-1%203v1c-1%201-2%200-2-1%200-2-1-2-4-3-4%200-4%200-4%203v3h45c38%200%2044%200%2043-1l-1-3v-2l-1%203c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-2l-3%201c-1-1-7%200-7%202l3%201c2%201%202%201-1%201s-3%200-3-2c0-3%200-3-4-3-3%201-3%201-3%203%200%203-2%202-3-2l-1-1v2c0%202-2%204-3%203v-3l-1-2-1%203c0%202-1%203-3%201v-4l-2%203c-1%202-1%202-1%200s-2-4-3-2l-3%201v-3l-2%202h-4l1-1v-1l-2%202%201%202v1c-1%202-3%200-2-2%200-2%200-3-2-3v4c-2%203-3%203-2-1%200-1%200-2-1-1h-1v-2l-2%201-2%201-2%202%202%201c1%200%202%200%201-1l1-1c2%201%201%202-2%203-3%200-5-2-4-4%201-1-1-2-2-1m273%2010c1%204%201%204-3%204l-3-1-1-2-1-1c1-1%200-2-1-2l-1%201h-1l-4-1c-4%200-4%200-4%203v3l-1-1v-2l-1-2c0-2-2-1-2%202%200%202%200%203-2%203-4%200-7-1-5-2h2l2%201%202-1c0-2-7-3-8-2h-1c0-1-8-1-8%201h-1c0-3-4-2-4%201%200%202%200%202-3%202-4%200-5-2-3-4v-1c-1%200-2%201-2%203s-1%203-2%201v-4l-3%201h-7c1-1%200-2-1-2l-1%202-2%201v-2c-2%200-3%202-2%203%201%200%200%202-2%202v-5c-1%200-2%201-2%203l-1%202-1-3c0-2%200-2-2-2h-4c-2-1-2-1-2%202%200%202%200%203-1%202l-1-2-1-3-1%203v3l-1-3c0-1%200-2-1-1%200%202-2%202-2%200-1-1-1%200-1%201v3l-1-2-1-3-2%202h-1l-8-1h-2c-2-2-2-2-4%200h-3c-2-2-4-2-4-1%200%204%200%205-2%205s-2%200-1-2l1-3-2%202c-1%203-4%204-2%202l-1-2v-2c-2%200-3%202-2%203%201%200%200%202-2%202v-5c-2%200-2%201-2%203l-1%202-1-2c0-3-3-4-4-2l-1%201v-1l-1-1c-2%200-2%201-1%203v1c-2%201-2%200-2-2s0-2-1%200h-1c0-1%200-2-1-1l-1%202c1%201%200%202-1%202-2%200-2%200%200-3v-3l-2%203c-1%203-3%202-2-1%200-2%200-2-2-2s-2%200-1%201c1%200%202%201%201%203-2%203-3%203-3-1v-1h-2v1c0%203%200%203-2%203l-2-1%201-4-2%203-1-1c-1-2-4-3-6-1h-2c-1-1-1-1-1%201v3c-2%200-2-1-1-4v-2l-2%203-1%204-1-3c0-4-3-4-3%200l-1%202-1-2-1-2-1%202c0%202-2%203-2%200v-2l-1-1c-1%200-2%201-2%203l-1%203h112a6829%206829%200%2000107-3h1c1%202%204%201%204-1l-5-1c-3%200-3%200-3%202l-1%202-2-5-1-2v4c1%202%201%203-1%203l-1-2-1-3c-2%200-3%203-2%204%200%202-2%201-3%200-1-2-1-2%201-3v-1c-2%200-2%201-2%203l-1%202-1-2c0-4-3-4-4-1-1%202-1%202-1%200l-1-4-1%203M60%2027v4h57v-3c0-3%200-3-1-1l-1%202v-2c-1-2-1-2-1%200s-1%203-2%203v-1l-1-1-1%201-1%201v-1l-2-4c-1-1-2-1-2%202l-1%203v-1l-1-2v-1l-1-1c-1%200-2%201-1%203v2c-1%200-2%200-2-3l-2-2-1%201v3h-2l-1-1%201-2v-1c-2%200-2%201-2%203l-2%202c-2%200-2%200%200-3v-3l-2%203-3%203-1-1%201-4c-4%206-4%206-5%204h-1l-1%201-1-3c0-3-3-3-4%201-1%202-1%202-1-2l-1-1-1%203-1%202-2-3-1-3-1%203v3l-1-2-2-3c-2-1-2-1-2%202m73-2c-2%201-2%202-2%203%201%201%200%202-1%202v-1l-1-1-1%201c-1%202-2%201-2-2s-3-3-3%201l-1%202-1-2-1-3c-2%200-2%201-2%203v3h52v-4c0-2%200-3-1-2v3c0%202%200%202-4%202-3%200-4%200-3-2%200-3%200-3-2-3l-4%201c0%201-1%201-2-1-2-1-2-1-3%201-1%203-4%203-3%200%201-1%201-1-1-1%200%201-1%201%200%200l-1-1-1%203c0%203%200%203-2%201v-3c-1%200-2%201-2%203l-1%202-1-2-1-3c-2%200-2%200-2%202v3l-1-3c0-3-1-3-2-2m42%2024l-2%204-1-3-1-3-1%201c1%201%200%204-1%204v-1l-1-2v-1l-1-1-2%201h-1c0-3-3-1-3%202v3h48v-3c0-3%200-3-1-1h-1l-1-2-1%203c1%201%200%202-1%202l-1-2-1%201c-2%201-2%201-2-1s-2-5-3-5l-1%204c0%204-1%204-1%200l-2-2-1%204c0%202-2%201-2-1%201-3-1-4-2-2v3h-2c-2-2-3-3%200-3l1-1c-2-2-4%200-4%203%201%201%200%202-1%202-2%200-2%200-1-3l1-3c-1-1-1%200-2%202l-3%204v-4c2-4%200-3-2%201m50-2c-2%200-2%202-2%203%201%201%200%202-1%202l-1-2h-1c-2%203-3%202-3-1l-1-2h-4c-2%200-2%201-2%203v3h39v-2c0-2%200-2%201%200%200%201%201%202%207%202h6v-3l-1-3h-2l-1%204-3%201c-4%200-3-3%200-3%202%200%202%200%200-1l-7-1c-4%200-4%201-4%203v2c-2%200-2-1-1-4l1-3-3%203c-1%202-1%203-2%202l-1-2-1-2c-1-1-1-1-1%203%200%203%200%203-2%201v-3h-8c0-2-1-2-2%200m55-1a52%2052%200%2001-1%205l-1%201v-2c0-3%200-3-2-3l-2%201c0%201-1%201-1-1-2-2-2-1-3%204l-1%202h66v-4l-1-4v4c-1%203-3%204-4%202%200-2%200-2-2%200-1%201-1%201-1-1s0-3-2-3l-2%202c0%203-1%202-1-1-1-4-2-4-2%200l-1%203-1-2c0-1%200-2-2-2s-2%200-2%203c0%202%200%202-2%201l-1-1-1%202-1-2c0-2-2-5-3-4l-4%201-1%203v2l-1-4-2-2-1%203v3l-1-1-2-1v-1c3%200%202-2%200-2s-2%200-2%203c1%201%200%202-1%202l-1-4v-3l-1%204c0%203%200%203-3%203s-5-1-5-5l-1-1m62%202c0%205-2%206-2%201-1-2-2-3-3%200v3c-1%201%207%201%2028%201h29v-2l-1-4-1-2v3c1%202-2%205-3%203v-3l-1-1-1%203-1%202c-1%200-2-1-1-3%200-3-1-4-2-4-2%200-2%202%200%203v2l-2%201c0%201-1%201-1-1h-2c0%202-2%203-2%201v-3c-1-2-3-4-3-2l1%201-1%203c-1%202-1%202-3%200h-1c0%203-2%201-2-2l-2-3-1%201%201%201-1%203c-2%203-7%203-7%200l1-2%201%201%202%201%202-1c0-2-1-2-4-2-4%200-4%200-4%203%200%202%200%202-1%201l-1-2c2-1%201-2-2-2l-3%201h-1c-1-1-1-1-1%201%201%202%201%203-1%203l-1-3-1-4-1%203M17%2055l-2%204v3h22l22-1c0-2-2-3-3-2-1%202-2%201-2-2l-1-2-1%203-1%202-1-4-1-1c-1%200-2%201-2%203l-1%202v-2c0-2-2-4-3-2h-2c-2-2-3-1-3%202l-2%202-1-1%201-4-3%204h-1l-1-4c-1%200-2%201-2%203l-1%202-1-4c0-1%200-2-1-1l-1%202v2c0%201-1%201-1-1s-1-2-3-2l-2-1h-2m84%200l-3%201-2%202-2%201v-3l-1-1-1%203v2l-2-2c0-3-1-4-2-2v3c-1%201-2%200-2-1%200-2-1-2-4-2s-4%200-4%203v3h44a1073%201073%200%200044-2v-3l-1-2-1%203c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-1h-2c-2-1-8%200-8%202l3%201c2%201%202%201-1%201-2%200-3%200-3-2-1-4-7-4-8%200%200%203-2%202-2-2l-1-2v3c0%202-1%203-2%203l-1-3-1-2-1%203c0%202-1%203-3%201v-4l-2%203c-1%202-1%202-1%200s-2-4-3-2h-3v-2l-2%202h-1l-3-2v5c-1%202-3%200-2-2l-1-3-2%201%201%201v2c-2%203-3%202-3-1%201-2-1-4-2-2M60%2066v4h57v-3c0-3%200-3-1-1l-1%203v-3c-1-2-1-2-1%200%200%203-1%204-2%202h-3l-2-4c-1-1-2-1-2%202l-1%203-1-1v-3l-1-1c-1%200-2%201-1%203v2c-1%200-2%200-2-3%200-2-3-3-3%200l1%201v1c-2%201-4%200-4-2h1l1-1-2-1-1%203-2%202c-2%200-2%200%200-3v-3l-2%203-3%203-1-1%201-4c-4%206-4%206-5%204h-1l-1%201-1-3c0-3-3-3-4%201l-1%201-1-3v-1l-1%203-1%202-2-3-1-3-1%203v3l-1-2-2-3c-2-1-2-1-2%202m73-2c-2%201-2%202-2%203%201%201%200%202-1%202v-1l-1-1-1%201-1%201-1-1-1-2v-2l-2%202%201%201v1c-2%201-3%201-3-1l-1-3c-2%200-2%201-2%203v3h25c13%200%2023%200%2022-1l-3-1%203-1c2%200%202%200%200-1l-3-1h-8c-2-2-2-2-3%200-1%203-4%203-3%200%201-1%201-1-1-1%200%201-1%201%200%200l-1-1-1%203c0%202%200%203-1%202l-2-2h1l1-1-1-1c-1%200-2%201-2%203l-1%202-1-2-1-2-1%202c0%203-2%202-2-1s-1-3-2-2m53%202l-1%204-1-3c0-4-3-4-3%200l-1%202-1-2-1-2-1%202c0%202-2%203-2%200v-2l-1-1-2%202%201%201a692%20692%200%2000101%203c66%200%20103%200%20102-1v-5c-2%200-3%202-2%204h-3v-1l1-1c0-2-3-2-4-1l-1%201v-1l-1-1c-1%200-2%201-1%203v1c-2%201-2%200-2-2v-2l-1%202-1%201c0-4-9-4-11-1-1%202-1%202-1%200l-1-3-1%203c1%202%200%203-1%203l-1-1c1-4-2-6-3-2-1%202-3%203-3%200h1l1-1h-5l-1-1c-2%200-2%201-2%204l-1%201-1-4-1-2-1%203c1%203%200%203-3%203l-3-1c1-1%200-2-1-2l-1-2v-1l-1%203-1%203-2-3-1-2v3c0%203-2%202-3-2-1-3-1-2-1%201l-2%203v-3c0-3-1-4-3-2l-2%201c-1-1-8%200-8%202l3%201c2%201%202%201-1%201s-4-1-4-3l-1-3-1%203c1%203%200%204-1%201l-3-2h-1c1%202%200%204-2%203v-1l1-2-2-1-1%203c0%202-2%203-2%201a200%20200%200%2000-1-4l-1%203-1%202-1-2-1-3c-1%200-2%201-2%203l-1%202-1-2-1-2-1%202c0%201-1%202-4%202s-4%200-4-2l2-2c0-2%200-2-2-2s-2%200-1%201%200%205-1%205l-1-4-1-1-2%202%201%201v1h-3v-1c1-1%201-3-1-3l-2%202c-1%202-1%202-1%200l-2-3v3l-1%202c-1%201-1%200-1-1%200-3%200-3-4-3l-4%201h-1l-4-1c-2%200-3%201-2%202%200%202%200%202-1%201-1-2-1-2-1%200s0%202-1%201v-2c0-1-1-2-4-2-4%200-4%200-4%203%200%201%200%202-1%201l-1-2-1-3-1%203c1%203%200%203-2%203s-2%200%200-3v-3l-2%203c-1%203-3%203-2-1%200-2%200-2-2-2s-2%200-1%201c2%200%202%201%201%203-2%203-3%203-3-1v-1h-2v1c0%203%200%203-2%203l-2-1%201-4-2%203-1-1c-1-2-4-3-6-1h-2c-1-1-1-1-1%201v3c-2%200-2%200-1-3v-3l-2%203\\'%20fill=\\'%2364ffda\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Errores en consola\"\n        title=\"Errores en consola\"\n        src=\"/static/d342131a17d748d605395cbdcc072a7f/39600/console-errors.png\"\n        srcset=\"/static/d342131a17d748d605395cbdcc072a7f/1aaec/console-errors.png 175w,\n/static/d342131a17d748d605395cbdcc072a7f/98287/console-errors.png 350w,\n/static/d342131a17d748d605395cbdcc072a7f/39600/console-errors.png 700w,\n/static/d342131a17d748d605395cbdcc072a7f/57cd1/console-errors.png 1050w,\n/static/d342131a17d748d605395cbdcc072a7f/fb77c/console-errors.png 1185w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<h2>Solución</h2>\n<p>Como el mensaje de error hablaba de una respuesta JSON, al principio pensé que era un problema de Gutenberg o de ACF. Pero resultó que ocurría porque estaba usando el panel de WordPress por <strong>https</strong> (es decir, <a href=\"https://project.ups.dock/wp-admin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://project.ups.dock/wp-admin</a>), y no el panel sin cifrar (<a href=\"http://project.ups.dock/wp-admin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http://project.ups.dock/wp-admin</a>).</p>\n<p>¡Era un error de CORS! Estaba intentando modificar un dominio sin https desde un dominio con https. Cambiar al panel de WordPress sin https me permitió publicar posts sin problema.</p>"}}]}},"pageContext":{}},
    "staticQueryHashes": ["1866466693","1994492073","2009693873","2031412112","3825832676"]}