pom_get_shortcode_schema: inspeccionar el esquema de un shortcode

La gramática de un shortcode: qué atributos acepta, qué valores toman y dentro de qué puede anidarse o qué puede contener.

Esta es la llamada que evita que un asistente invente nombres de atributos.

Argumentos

Argumento Obligatorio Significado
shortcode Sí La etiqueta, como web_button o vc_row

Permisos

mcp:read y wp:content:read, con edit_posts.

Qué devuelve

Campo Significado
shortcode La etiqueta
label, description Nombre legible y propósito
source Shortcode de diseño, módulo de POM theme u otro shortcode del constructor
category Su agrupación
attributes Un mapa del nombre del atributo a su esquema
is_container Si envuelve otros shortcodes
as_parent Qué puede contener
as_child Dónde puede colocarse
post_types Tipos de contenido a los que está restringido, si los hay
content_element Si produce contenido

Una etiqueta desconocida devuelve pom_ai_mcp_shortcode_not_found.

Leer un atributo

Cada atributo incluye:

Campo Significado
type Tipo normalizado: string, text, enum, media o object
control_type El control subyacente del constructor
label, description Para qué sirve
default El valor predeterminado
options Pares de etiqueta y valor permitidos, cuando están restringidos
values Solo los valores permitidos, para una comprobación rápida
dependency Cuándo el atributo solo aplica en función del valor de otro atributo
group Su pestaña en la interfaz del constructor

El type se deriva del control: los desplegables, botones de opción y casillas se convierten en enum; los selectores de imagen se convierten en media; los controles agrupados, de relleno (padding) y de fondo se convierten en object; las áreas de texto se convierten en text.

Los campos que más importan

values. Cuando están presentes, estos son los únicos valores aceptables. Escribir cualquier otra cosa produce un atributo que se ignora silenciosamente: la forma más habitual de que el contenido generado por el constructor acabe viéndose mal sin llegar a fallar.

as_parent y as_child. Las restricciones de anidamiento, y se aplican. El validador comunica una infracción como error, así que leerlas primero ahorra un viaje de ida y vuelta.

dependency. Un atributo que solo aplica cuando otro tiene un valor concreto. Definirlo fuera de esa condición no hace nada, lo que resulta confuso de depurar desde la página renderizada.

type: object. Estos atributos toman un valor estructurado, no una cadena. Pasar una cadena produce un resultado silenciosamente incorrecto.

Lee el esquema de cada shortcode que utilices

No solo de los que no te resulten familiares. Dos shortcodes que se parecen suelen diferir en los nombres de atributo para el mismo concepto, y los atributos de espaciado de un módulo web_* no suelen ser los que usaría un constructor general de WordPress.

Lee los esquemas de vc_row, vc_column y web_button antes de componer nada.

Un asistente al que se le dan los esquemas escribe un marcado válido a la primera. Uno al que solo se le da la lista de etiquetas escribe un marcado plausible y se entera en la validación.

Cómo usarlo bien

Muéstrame el esquema de web_button y enumera sus atributos con sus valores permitidos.

¿Qué atributos de web_listings controlan cuántos elementos se muestran?

¿Dentro de qué puede colocarse vc_column_inner?

Qué no hace

  • No valida tu uso. Eso es pom_validate_builder_content.
  • No te dice qué queda bien. El esquema es mecánico.
  • No cubre las etiquetas de combinación. Esas son del lado de la plantilla; consulta pom_get_available_mergetags.

Cuando no se encuentra un shortcode

pom_ai_mcp_shortcode_not_found significa que la etiqueta no está en el catálogo de este sitio. Causas, en orden de probabilidad:

  1. El asistente inventó la etiqueta o la tomó prestada de otro constructor.
  2. El módulo está desactivado: compruébalo con pom_get_available_shortcodes y include_inactive.
  3. POM theme no está activo, por lo que sus módulos no están registrados.
  4. Una errata.

La solución es siempre la misma: vuelve a pom_get_available_shortcodes y trabaja a partir de la lista real.