neve/appearance-update identity.logo_media_id updates custom_logo but header logo (logo_logo) is unchanged
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Read inc/abilities/appearance_update.php around apply_identity(), then inspect the custom_logo filter in header-footer-grid/Core/Components/Logo.php and its initialization in header-footer-grid/loader.php. First verify whether the filter is registered during an ability call in a REST request, then check whether logo_logo updates for the same, light, and dark variants. Done when the header displays the selected attachment and the ability reports the result accurately.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Calling the Neve appearance-update ability with identity.logo_media_id set to a valid image attachment reports success (updated: custom_logo, no warnings), but the header logo shown on the site does not change.
Expected: the visible Neve header logo uses the new image.
Actual: the Neve logo component's own setting keeps the old attachment, so the header still shows the old logo.
Impact: the logo cannot be changed through the ability, and no warning is returned.
Customer context
- Product / area: Neve appearance-update ability (identity block), called via the Easy MCP AI plugin 2.3.0
- Version: Neve version not provided
- Environment: Ability invoked through an MCP/REST context, not the Customizer
- Integration / third party: Easy MCP AI
- Reported error / symptom: custom_logo updated; logo_logo ({light,dark,same}) keeps the old ID
- Impact: Header logo unchanged
Reproduction notes
Reported steps: call the appearance-update ability with identity.logo_media_id set to a valid attachment ID, then inspect the logo_logo theme mod and the header. Not reproduced locally. Whether the logo sync filter is registered in the ability call context is unverified.
Diagnosis
Conclusion
The ability's identity handler writes only the custom_logo theme mod. Neve's header logo component keeps its own logo_logo mod, which is normally synced from custom_logo by a filter. The customer's observation is consistent with that filter not running in the ability context. This is inference; runtime was not reproduced.
Where this likely occurs
inc/abilities/appearance_update.php—apply_identity()approx. lines 607-622: calls set_theme_mod('custom_logo') and reports 'custom_logo' as updated; it does not touch logo_logo.header-footer-grid/Core/Components/Logo.php— constructor approx. line 96 registers thepre_set_theme_mod_custom_logofilter;update_logo_theme_mod()approx. lines 155-164 writes logo_logo.header-footer-grid/loader.phpapprox. line 58-60: the HFG main object is created onafter_setup_theme.
Engineering notes
The sync depends on the Logo component having been instantiated and its filter registered before the ability runs. Whether that happens in REST/ability requests was not verified. No warning is emitted when the visible logo is not updated.
Test coverage status
No relevant coverage was found during inspection for logo_media_id in the ability tests.
What to verify or explore next
May be worth verifying whether the filter is registered during an ability call on a REST request, and the resulting logo_logo value. Worth checking the same=true and dark variants.
Unknowns / follow-up
Neve version and the site's header builder state are unknown.
Confidence
Confidence: 60/100
Only the Neve logo report is supported by code: the ability writes only custom_logo while the rendered logo reads a separate mod. The other four are unconfirmed: WPML needs third-party runtime evidence, the tool description is intentional, the session guard is working as designed, and the wp_update_page path never sends status.
Source: automated in-product feedback — easy-mcp-ai, 2026-10-28
Generated by bug-report-triage (ID: bug-report-triage_6ae2d79682e0c2.61501712)
- Lenguaje dominante
- PHP
- Estrellas
- 307
- Forks
- 89
- Merge medio
- 3 d 8 h
- PR fusionados (30 d)
- 18
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Codeinwp/neve
-
bug-report bug-report-triage crash-report
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
bug-report bug-report-triage crash-report
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Duplicate H1: hidden screen-reader title H1 rendered alongside custom layout H1 when page title is hiddenPosiblemente ocupada @HardeepAsrani la tomó hace 20 días. Abiertobug-report bug-report-triage customer report
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
Codeinwp/neve#4652 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Enhance home screen and front page customization options in Neve FreePosiblemente ocupada @faisalahammad la tomó hace 11 días. Abiertofeature-request-triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Add basic Social Icons component to free Header and Footer builderPosiblemente ocupada @faisalahammad la tomó hace 11 días. Abiertofeature-request-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de Codeinwp/neve
Issues similares
-
security/tailscale: add description to restart servicePosiblemente ocupada @drpsyko101 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Add search field to Scheduled TasksPosiblemente ocupada @WorstPIlot la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
openmediavault/openmediavault#2309 ·
-
15.0
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Admin search gives every setting result of an extension the id "<extension>-[object Object]"Abierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
False HTTP 400 when deleting multiple tracks from a playlist (Ampache 8.3.0)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
ampache/ampache#4560 · 2 comentarios ·
Los mantenedores suelen responder en 1 día