Domyślnie WordPress nie pozwala na wykonywanie kodu PHP wstawionego bezpośrednio w treści wpisu lub strony. Jest to oczywiście zamierzone działanie, które wynika z ustalonej hierarchii systemu oraz względów bezpieczeństwa (np. żaden administrator nie chciałby, żeby użytkownicy z uprawnieniami autora mogli wykonywać bez przeszkód operacje na bazie danych WP). Jak to w życiu bywa czasami trzeba zrobić coś szybciej, prościej i na wczoraj. Dlatego w tym artykule opiszę jak umożliwić wykonywanie kodu w postach za pomocą wtyczki Allow PHP in Posts and Pages.
Osobiście jednak odradzam takie rozwiązanie (szczególnie w przypadku WP z większą liczbą redaktorów) i polecam potraktować je w sposób doraźny. To znaczy w przyszłości umieścić kod PHP w odpowiednim pliku szablonu tworząc własny szablon strony lub format posta.
Instalacja
Oczywiście, pierwszą czynnością będzie instalacja oraz aktywacja wyżej wymienionej wtyczki. Najprościej dokonać tego poprzez instalator załączony do panelu administracyjnego CMS. Ci, którzy wolą zabawę z FTP mogą pobrać wtyczkę z wordpress.org, rozpakować i przesłać pliki bezpośrednio na serwer.
Konfiguracja
Wtyczka działa na zasadzie odwołań do stworzonych wcześniej fragmentów kodu. Przed jej uruchomieniem musimy więc takie kody zdefiniować. Dokonamy tego w zakładce Allow PHP in post -> Allow PHP in post, gdzie do wypełnienia otrzymamy składający się z dwóch pól formularz.
Pozostaje tylko wkleić przetestowany kod (bez znaczników <?php oraz ?>) i nadać mu logiczną nazwę, której później będziemy używać do jego wywołania w treści posta lub strony.
Użycie
Aby użyć zdefiniowanego przed chwilą kodu po prostu wstaw w kodzie posta [ php function=ID ], gdzie ID, to liczba identyfikająca dany fragment kodu.
Tym, którzy chcą wstawić kod bezpośrednio w edytorze postów czy stron (bo np. w przypadku każdego posta kod będzię się nieco różnił) polecam zainteresować np. wtyczką Insert PHP, która pozwala na umieszczenie go pomiędzy znacznikami [insert_php] i [/insert_php].
pytanie tylko po co nam takie rozwiązanie – dając takie kody w treści łatwo je osoba edytująca treść może usunąć… osobiście też nie polecam.
Zgadza się. Jak można przeczytać w treści artykułu, ja również nie polecam tego rozwiązania na dłuższą metę. Potraktujcie to jako ciekawostkę i coś czego można użyć w sytuacji awaryjnej i tymczasowo.
Dobrze, ze takie wtyczki do PHP są 🙂 Do JS i CSS też są?