CodeColorer TinyMCE Button nie współpracuje z Advanced Custom Fields

Nie jestem wielkim propagatorem systemu WordPress, jednak często wykorzystujemy go w Owls Department przy projektach. Dzisiaj Marta trafiła na problem z pogodzeniem dwóch pluginów do WordPressa – świetnego i niezastąpionego ACF (Advanced Custom Fields) i CodeColorer. A konkretniej, rozszerzenia do tego drugiego, dodającego button „code” do TinyMCE (aby nie bawić się w ręczne wklepywanie shortcodów). Problematyczny plugin nazywa się CodeColorer TinyMCE Button i powiedzmy sobie szczerze – jego kod to nie są wyżyny programistycznego kunsztu.

Symptomy problemu: shortcode wstawiane są tylko w głównym edytorze, natomiast nie są wstawiane w przypadku edytorów dodanych z poziomu ACF.

Diagnoza: autor zamiast pomęczyć się nieco, zakodował na sztywno ID edytora ‚content’ wprost w źródłach pluginu, dlatego próba wywołania na innym edytorze nie powodowała zmian w treści.

Rozwiązanie: poprawić plugin, aby odwoływał się do odpowiedniej instancji TinyMCE. Zgłosiłem patch na WordPressowym TRAC’u, mam nadzieję że autorzy pluginu włączą to w jego core. Ticket z patchem znajdziecie tutaj. Tymczasem, poprawiony plugin do pobrania tutaj. Rozwiązanie proste, nieco toporne (podobnie jak sam plugin), ale skuteczne. Być może komuś się przyda :)