WordPress: szablon z gotowca i coś nie działa

Napisanie dobrego frameworka to wielka sztuka. Należy idealnie wyważyć ilość potrzebnych funkcji i elastyczność. Programiści skórek do WordPressa nie mogą narzekać na brak takich rozwiązań. W tej chwili jest kilkanaście motywów bazujących na http://twitter.github.io/bootstrap/ oraz http://foundation.zurb.com/. Zwykle są to ogromne kolosy obrośnięte w niezliczoną ilość funkcji wnoszących nowe funkcjonalności jak i podmieniające już wbudowane w samego WordPressa. Takie szablony są całkowitym przeciwieństwem lekkiego http://html5reset.org/#wordpress.

Studium przypadku

Ostatnio pracowałem przy dużej ilości projektów nie związanych z WP. W celu przyśpieszenia prac wielokrotnie wykorzystałem Bootstrap który za każdym razem urzeka mnie swoją elastycznością. Przy okazji tworzenia kolejnej skórki do WP postanowiłem połączyć jedno z drugim i postawić szablon WP na Bootstrap. Po znalezieniu kilku skórek które mogłyby posłużyć za fundament docelowego szablonu zdecydowałem się na http://320press.com/wpbs/. Wydał mi się najmniej zaśmiecony.

Większość pracy przeszła bez problemu. Jednak przy pracy nad galeriami pojawiło się na początku trudne do zdiagnozowania zachowanie. W momencie kiedy miniatury galerii powinny prowadzić bezpośrednio do pliku obrazu, prowadziły do strony załącznika (niezależnie od ustawień przy edycji).

Szukanie przyczyny

Googlowanie tematu wskazało na bugi w samym WP. Aktualizacja do najnowszej wersji nie pomogła. Pomogła natomiast zmiana motywu. W takich momentach warto sprawdzić zachowanie samego WP na standardowych szablonach. Pozwala to wykluczyć bądź potwierdzić przyczynę w aktualnie używanym motywie.

Po kilku testach okazało się że wspomniany http://320press.com/wpbs/ podmienia funkcję shortcode odpowiedzialną za generowanie galerii w treści strony. Przy okazji całkowicie ignorując ustawienie miejsca docelowego po kliknięciu miniatury.

Rozwiązanie

W takich przypadkach warto szukać przyczyny w wtyczkach, funkcjach szablonu i przeszukać Internet w poszukiwaniu błędów samego WordPressa.

W tym przypadku okazało się, że wystarczy odłączyć podmianę shortcode motywu http://320press.com/wpbs/ komentując dwie linie w pliku shortcodes.php:

// remove the standard shortcode
//remove_shortcode('gallery', 'gallery_shortcode');
//add_shortcode('gallery', 'gallery_shortcode_tbs');

Pozwoliło to wrócić do standardowego generatora galerii i tym samym naprawić błąd.