pom_theme_update_settings_batch: actualiza los ajustes en bloque
Aplica varios cambios de ajustes en una sola llamada. Un bucle alrededor de pom_theme_update_setting, con la misma lista permitida y los mismos rechazos.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
updates |
Sí | Una lista, cada entrada con setting, field y value |
dry_run |
No | Previsualiza cada entrada |
Permisos
Permitir escrituras de POM Theme abiertas, más manage_options. Se comprueba por entrada.
La dry_run de bloque siempre gana
La dry_run de cada entrada se sobrescribe por el valor de nivel de bloque antes de que la entrada se ejecute. Una entrada no puede excluirse de un ensayo en seco de bloque ni puede incluirse en uno.
Tanto esta herramienta como wc_batch_update_variations mantienen cada entrada en solo lectura durante una previsualización de bloque. WooCommerce además permite que una fila individual solicite una previsualización durante un bloque de escritura.
Aquí, la marca de bloque es la única que importa, que es la disposición más segura y en la que vale la pena confiar.
Las entradas incompletas dependen del transporte
El transporte estándar omite una entrada mal formada o una que falte setting, field o value, sin añadir un resultado. WordPress MCP Adapter valida estos campos obligatorios antes de la ejecución y rechaza un bloque no válido.
Así que la lista de resultados puede ser más corta que lo que enviaste, sin nada que indique por qué. Compara los recuentos cada vez:
Aplica el bloque y confirma que la lista de resultados tenga tantas entradas como envié.
Ten en cuenta que una value de cero o una cadena vacía sigue contando como presente; solo se omite una clave genuinamente ausente.
Los fallos son por entrada, y no hay reversión
Cada entrada devuelve su propio resultado. Una entrada denegada por la lista permitida falla sola; el resto se aplica igualmente.
Dado que la lista permitida contiene dos campos, un bloque ensamblado a partir de lo que anuncia el esquema fallará en su mayor parte. Esa es la forma esperada de la respuesta, no un mal funcionamiento:
Aplica el bloque y muéstrame qué entradas tuvieron éxito y cuáles devolvieron
pom_ai_mcp_theme_field_denied.
Recorre toda la lista. Un bloque notificado como "hecho" porque la llamada devolvió éxito puede no haber escrito nada.
Cada entrada activa la rutina de guardado del tema
La acción posterior al guardado se ejecuta una vez por entrada correcta, no una vez por bloque. Diez escrituras significan diez ciclos de guardado y, para los ajustes de plantillas, diez reconstrucciones del manifiesto.
Eso hace que un bloque grande sea más lento y más disruptivo de lo que parece. Mantén los bloques pequeños, algo que la lista permitida de dos campos en su mayoría impone de todos modos.
Cuándo vale la pena un bloque
Siendo realistas: establecer los diseños de archivo e individual para varios tipos de contenido personalizados en una sola pasada. Ese es el caso que la lista permitida admite y donde agrupar ayuda.
Establece el diseño de la barra lateral del archivo para los tipos de contenido producto, proyecto y evento en un solo bloque, primero como ensayo en seco.
Para cualquier cosa que implique CSS o plantillas, usa las herramientas dedicadas: esos valores son complejos y esta herramienta los rechaza con pom_ai_mcp_complex_setting_denied.
Lee primero los valores actuales
No hay una vista combinada de antes y después de todo el bloque más allá de los ensayos en seco individuales. Lee cada ajuste con pom_theme_get_settings_values y conserva el resultado; es tu vía de restauración.
Después de escribir
- Da cuenta de cada entrada en
results. - Vuelve a leer cada ajuste afectado.
- Carga una página de cada tipo afectado y confirma el diseño.
- Purga la caché.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | Puerta de escritura de POM Theme cerrada |
pom_ai_mcp_forbidden |
Falta manage_options |
| La mayoría de las entradas denegadas | Esperado; la lista permitida son dos campos |
| Menos resultados que entradas enviadas | Entradas que faltan setting, field o value |
| Se ignoró un ensayo en seco por entrada | Correcto; la marca de bloque lo sobrescribe |
| Algunas se aplicaron, otras no | No hay reversión; esto es un bucle |
| La llamada es lenta | Un ciclo de guardado del tema por entrada |
Relacionado
pom_theme_update_setting— la forma individual y la lista permitidapom_theme_get_settings_values- Actualizar ajustes del tema