neve/appearance-update identity.logo_media_id updates custom_logo but header logo (logo_logo) is unchanged

Đang mở
#4,678 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
php, wordpress
Lĩnh vực
frontend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug-report bug-report-triage

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 the pre_set_theme_mod_custom_logo filter; update_logo_theme_mod() approx. lines 155-164 writes logo_logo.
  • header-footer-grid/loader.php approx. line 58-60: the HFG main object is created on after_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)

Ngôn ngữ chính
PHP
Star
307
Fork
89
Merge trung bình
2 ngày 20 giờ
Pull request đã merge (30 ngày)
24

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Codeinwp/neve

Tất cả issue của Codeinwp/neve

Issue tương tự

Thêm issue về PHP

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.