Dom Wyposażenie biura Osadzaj posty na stronie WordPress. Wykonywalny kod php w postach WordPress

Osadzaj posty na stronie WordPress. Wykonywalny kod php w postach WordPress

Są sytuacje, gdy podczas pisania artykułów bardzo wygodnie jest wykorzystać w tekście cały potencjał języka programowania PHP. Mówimy o artykułach dla WordPress.

Każdy, kto próbował napisać dowolny kod PHP w poście w nadziei, że zadziała, wie, że WordPress traktuje taki kod jako zwykły tekst. Czasem jednak wygodnie jest uruchomić np. jakąś pętlę wyjściową bezpośrednio w tekście podczas pisania artykułu, gdyż treść takiego artykułu będzie aktualizowana dynamicznie. Innym przykładem może być możliwość wywołania gotowych funkcji w poście, jeśli zajdzie taka potrzeba, lub np. wstawienia jakiegoś pliku PHP do tekstu posta za pomocą funkcji php require():

Wymagaj „my_script.php”;

Ogólnie rzecz biorąc, wyobraźnia jest tutaj nieograniczona, a prawda jest taka, że ​​brak możliwości użycia php w tekście artykułu w niektórych przypadkach może stać się prawdziwym problemem. Kiedyś spotkałem się z takim problemem, rozwiązałem go pobierając i lekko modyfikując kod jakiejś wtyczki (nie pamiętam teraz nazwy).

Tak więc, aby zaimplementować możliwość wstawiania wykonywalne skrypty PHP w tekście artykułu/postu lub strony statycznej, musisz dodać następujący kod do plikufunctions.php motywu, który prawdopodobnie jest nam boleśnie znany:

## Wykonywalny kod PHP w treści postów WordPress. ## PHP_code ## ## @version: 1.0 if("Wykonywalny kod PHP w treści")( add_filter("the_content", "content_exec_php", 0); funkcja content_exec_php($treść)( return preg_replace_callback("/\( . +?)\[\/exec\]/s", "_content_exec_php", $content); ) funkcja _content_exec_php($matches)( if(" off" === $matches)( return "\n\n<"."pre>".htmlspecialchars($dopasowania) ."\n\n"; ) else ( eval("ob_start(); ($dopasowania); \$exec_php_out = ob_get_clean();"); return $exec_php_out; ) ) )

Po dodaniu kodu możliwe będzie stosowanie tego typu konstrukcji w artykułach:

Kod PHP

Na przykład:

// Komentarz globalny $wp_version; echo "Aktualna wersja WP: $wp_version";

Aby wyłączyć wykonywanie kodu, możesz użyć następującej konstrukcji. Po prostu wyświetli kod, tak jakbyśmy wstawili kod php jako tekst.

Kod PHP

Ważne o ochronie

Należy pamiętać, że każdy może korzystać z tej funkcji, co stanowi ogromną lukę w zabezpieczeniach, ponieważ jeśli ktoś ma dostęp do pisania artykułów, może z łatwością robić z witryną, co chce.

Aby zabezpieczyć się przed możliwymi szkodliwymi konsekwencjami tego hacka, możesz zastosować następującą prostą ochronę (co od razu mi przyszło do głowy): włącz wykonanie konstrukcji kodu php tylko wtedy, gdy na przykład post ma jakieś niestandardowe pole lub, Załóżmy, że post został napisany o godzinie 00. Oczywiście tylko Ty będziesz znać tę sztuczkę, w której kod zostanie wykonany i odpowiednio tylko Ty będziesz miał możliwość wstawienia kodu PHP do artykułu.

Ta funkcja pomoże Ci usunąć kilkanaście niepotrzebnych wtyczek wstawiających dowolne proste dane do treści posta z możliwością wstępnego przetworzenia. Powiedzmy, że wstawisz blok AdSense w dowolnym miejscu. Lub kurs dolara aktualizowany w czasie rzeczywistym. Lub dowolna wartość przechowywana w bazie danych WP lub tabeli strony trzeciej.

Czasami trzeba wstawić aktualną datę bezpośrednio w środku tekstu. Oznacza to, że data nie jest datą publikacji posta, ale datą bieżącą z punktu widzenia czytelnika. Lub jakakolwiek inna zmieniająca się informacja lub fragment kodu JS bez przetwarzania końcowego przez silnik. Lub coś, co należy przeliczyć przy każdym odświeżeniu strony i to coś powinno znajdować się w treści posta. Albo... Cóż, myślę, że rozumiesz. :)

Napiszemy wtyczkę! Jest to bardzo proste i nie wymaga żadnej wiedzy na temat tworzenia wtyczek WP. Jego jedyną wadą jest brak „twarzy” w panelu administracyjnym WP, czyli dostarczenie jej niektórym klientom nie byłoby dobrym pomysłem. Ale na własne potrzeby opcja jest doskonała.

W folderze /wp-content/plugins/ utwórz plik o unikalnej nazwie, powiedzmy „wstaw-dowolne-dane-do-post.php”. Najpierw piszemy blok komentarza, który następnie WP przeanalizuje w celu opisania wtyczki w swoim panelu administracyjnym. Możesz zapisać dowolne dane, następnie podłączyć krótki kod i napisać prostą funkcję. Cały kod:

Krótko mówiąc, to wszystko. :) Wewnątrz funkcji możesz wykonywać dowolne akcje, odbierać i przetwarzać dowolne dane. W powyższym przykładzie, podczas pisania projektu w dowolnym miejscu posta, wyświetlona zostanie bieżąca data w momencie, gdy odwiedzający przeglądał ten post.

Do tej funkcji można także wprowadzić różne parametry. Załóżmy, że poniższy kod rozszerza naszą funkcję i dodaje możliwość wyświetlania nie tylko daty bieżącej, ale także wczoraj/jutro, a także pozwala na zmianę typu daty.

Funkcja Give_me_date_handler ($atts) ( //z tablicy atrybutów tworzymy dozwolone zmienne i ustawiamy wartości domyślne, opcjonalny, ale wygodny ekstrakt(shortcode_atts(array("type" => "wczoraj, dziś, jutro", "format" => „krótki, pełny”), $atts)); // ustalmy, jakiej daty potrzebujemy switch($type) ( case „jutro”: $time = strtotime(”+1 dzień”); break; case „wczoraj” : $time = strtotime("-1 dzień"); break; default: $time = time(); ) // iteruj po typie daty if ($format == "short") $date = date("d.m.Y" , $czas); else $data = data("r", $czas); return $data; )

Zmienne naszej funkcji ustawia się za pomocą tagu w poście takim jak ten:

Wynik tagu napisanego powyżej: 21.08.2019

Zrzut ekranu z obszaru administracyjnego edycji postów:

Dzięki tej funkcji możesz pobrać dane z bazy danych i zwrócić je; możesz po prostu zwrócić kod JS, zawijając go w ob_start() i ob_end_clean() dla wygody. Można także stworzyć kilka shortcodes i odpowiednio kilka funkcji, umieszczając w ten sposób w jednym pliku/wtyczce wszystkie niezbędne „wstawki” do wykorzystania wewnątrz treści publikacji.

Ogólnie rzecz biorąc, przydatna rzecz!

- 5,0 na 5 na podstawie 2 głosów

W poprzednim artykule przyjrzeliśmy się dla naszego bloga WordPress, a tutaj przyjrzymy się, jak posty (notatki) są dodawane w WordPress.

W WordPressie istnieją dwa rodzaje treści: posty lub, jak się je nazywa, notatki i strony. Posty to dynamiczna treść, która z reguły stale pojawia się na blogu w określonych sekcjach.

Jeśli chodzi o strony, są to zwykłe strony statyczne, za pomocą których można stworzyć np. stronę o autorze lub bloga.

Aby utworzyć post przejdź do panelu administracyjnego WordPress: „Posty” >> „Dodaj nowy”.

W rezultacie zostanie załadowany edytor tekstu, za pomocą którego możesz sformatować tekst, podobnie jak robisz to w edytorze MS Word.

1. W terenie „Wpisz tytuł”, podaj tytuł posta.

2. Korzystanie z panelu „Załaduj/wklej”, możesz pobrać i wstawić do swojego postu niezbędne obrazy i pliki multimedialne.

3. Korzystając z zakładek „Wizualny” i „HTML” możesz przejść do edycji kodu HTML lub pozostać w środowisku wizualnym.

4. Za pomocą narzędzi panelu możesz sformatować tekst. Klikając odpowiednią ikonę, otworzysz dodatkowy panel z bardzo przydatnymi narzędziami.

Najpierw dodaj tytuł posta, po podaniu tytułu i umieszczeniu kursora w polu tekstowym edytora, pod tytułem automatycznie wygenerowany zostanie stały link, który będzie wykorzystany w tym poście. W lekcji umieściliśmy stałe linki: „”.

Wstaw tekst.

Jeśli przygotowujesz teksty w edytorze MS Word, to nie kopiuj ich bezpośrednio do okna edytora, lecz skorzystaj z narzędzia „Wklej z Worda”.

Aby to zrobić, skopiuj tekst w programie Word, następnie przejdź do edytora WordPress i kliknij ikonę „Wklej z Worda”, następnie wklej tekst w oknie, które się otworzy i kliknij przycisk „Wklej”.

Jeśli wkleisz tekst z Worda bezpośrednio do edytora tekstu WordPress, to za tekstem skopiujesz mnóstwo niepotrzebnego kodu odpowiedzialnego za formatowanie tekstu. W rezultacie zwiększysz rozmiar swojej strony, a obecność dużej ilości niepotrzebnego kodu nie będzie dobrze traktowana przez wyszukiwarki.

Wstaw obraz do tekstu.

Aby wstawić obraz do tekstu, umieść kursor w miejscu tekstu, w którym chcesz wstawić obraz i kliknij ikonę „Wstaw obraz”:

W rezultacie załaduje się okno z trzema zakładkami. Korzystając z zakładki „Z komputera”, możesz pobrać i wstawić dowolny obraz znajdujący się na Twoim komputerze. Korzystając z zakładki „Z witryny” możesz określić ścieżkę do obrazu, który już znajduje się w dowolnej witrynie, a za pomocą zakładki „Biblioteka plików” możesz wstawić dowolny obraz z biblioteki multimediów. Biblioteka multimediów przechowuje wszystkie pliki, które wcześniej pobrałeś.

Jako przykład wstawmy obraz z komputera. Aby to zrobić, kliknij przycisk „Wybierz pliki”, wybierz żądany obraz i kliknij przycisk „Otwórz”. W rezultacie obraz zostanie załadowany. Po przesłaniu obrazu pojawi się przed Tobą okno, za pomocą którego możesz ustawić określone atrybuty obrazu.

Pole „Tytuł” ​​jest wymagane. Pozostałe pola „Tekst”, „Podpis” i „Opis” możesz wypełnić według uznania.

W polu „Link” możesz ustawić link, który będzie prowadził do obrazu. Domyślnie link prowadzi do obrazka, jeśli klikniesz przycisk „Link do posta”, wówczas link z obrazka przejdzie do samego posta, jeśli klikniesz przycisk „Nie”, wówczas nie będzie połączyć.

W pozycji „Wyrównanie” możesz ustawić położenie obrazu na stronie.

W pozycji „Rozmiar” możesz ustawić rozmiar obrazu.

Po określeniu wszystkich parametrów kliknij przycisk „Wstaw do postu”, a obraz zostanie wstawiony.

Wstaw znacznik „Dalej”.

Wybierz format nagrywania.

Począwszy od wersji WordPress 3.X, wprowadzono formaty postów. Korzystając z formatów, możesz wybrać konkretny typ wyświetlania posta. Ta funkcja umożliwia twórcom szablonów tworzenie różnych typów postów w zależności od ich potrzeb. Szablon zainstalowany w WordPrees domyślnie wykorzystuje trzy formaty wyświetlania postów:

Formaty postów można wybrać w panelu po prawej stronie edytora. Formaty postów są dostępne tylko w motywach WordPress w wersji 3.X. Obsługiwanych jest łącznie 10 formatów postów, ich dostępność zależy od używanego motywu. Używając tego czy innego formatu, tag ustawiana jest odpowiednia klasa, za pomocą której danemu formatowi postu można nadać konkretny wygląd za pomocą CSS.

Niedawno jeden z naszych czytelników zapytał, czy istnieje sposób na dodanie treści ze strony WordPress do innej strony lub postu. W tym artykule pokażemy, jak wstawić treść z jednej strony WordPress do innego postu, strony lub dowolnego niestandardowego typu postu.

Przede wszystkim musisz zainstalować i aktywować wtyczkę Wstaw strony. Po aktywacji wystarczy przejść do sekcji Wpisy » Dodaj nowe panel administracyjny serwisu, aby zobaczyć go w akcji.

Jeśli korzystasz z edytora wizualnego, zauważysz w menu nowy przycisk o nazwie „Wstaw stronę”.

Kliknięcie go spowoduje wyświetlenie wyskakującego okna, w którym możesz wybrać stronę, post lub niestandardowy typ postu, który chcesz dodać.

Możesz wybrać sposób wstawiania do postu/strony, klikając Opcje. Domyślnie możesz dodać tytuł, treść, link lub wybrać niestandardowy szablon. Więcej o szablonach niestandardowych powiemy w dalszej części artykułu.

Po wybraniu wpisu/strony kliknij przycisk Wstaw stronę. Wtyczka do dodania krótkiego kodu wymaganego do wyświetlenia wybranego postu/strony.

Jeśli do tworzenia postów używasz edytora tekstu, możesz wkleić krótki kod ręcznie. Opcje krótkiego kodu są dość proste.

Parametr page dla krótkiego kodu akceptuje informację o stronie lub jej identyfikator. Pamiętaj, że slug może być dowolnym typem postu, niekoniecznie stroną.

Można także określić identyfikator wpisu. O tym, jak znaleźć identyfikator postu w WordPressie, już pisaliśmy.

Dodawanie niestandardowych typów postów do wpisów na blogu

Korzystając z WordPress, możesz dodawać dowolny typ treści, tworząc typy postów dla różnych typów treści.

Wtyczka Wstaw strony umożliwia dodawanie niestandardowych typów postów do stron i postów na blogu. Możesz na przykład utworzyć niestandardowy typ postu dla galerii obrazów, a następnie użyć opcji Wstaw strony, aby dodać te galerie do swoich postów lub stron.

W ten sam sposób możesz tworzyć niestandardowe typy postów dla filmów, portfolio, recenzji klientów itp. aby dodać je do postów/stron.

Używanie niestandardowych szablonów do wyświetlania wstawionych stron

Wstaw strony umożliwia wyświetlenie tytułu, łącza, treści lub wszystkich pól wstawionych stron. Niektórzy użytkownicy mogą jednak potrzebować bardziej precyzyjnych ustawień wyjściowych. Można to osiągnąć za pomocą niestandardowych szablonów.

Wszystko, co musisz zrobić, to utworzyć pusty plik php i przesłać go do folderu motywu. Plik może mieć dowolną nazwę. Na przykład niestandardowy autor.php.

Ten niestandardowy szablon działa dokładnie tak, jak każdy inny plik szablonu treści w Twoim motywie. Poniżej znajduje się przykład pliku szablonu, który utworzyliśmy w celu wyświetlania stron autorów.

Możesz użyć niestandardowych klas CSS w pliku szablonu, a następnie zastosować style w pliku arkusza stylów motywu. Do zaprojektowania strony autorskiej użyliśmy poniższego kodu.

H3.nazwa-autora (rozmiar czcionki:16px; ) .thumbnail-autora ( float:left; padding:10px; ) .author-bio ( styl czcionki:kursywa; rodzina czcionek: Lora, Georgia, Serif; )

Tak wygląda ostateczna wersja:

Mamy nadzieję, że ten artykuł pomógł Ci dodać treść z jednej strony/postu WordPress do innej.

Jeśli chcesz wstawić fragmenty kodu do postów lub stron w witrynie WordPress, nasz dzisiejszy post będzie dla Ciebie przydatny. Może to być przydatne na przykład wtedy, gdy publikujesz samouczki dotyczące programowania i chcesz wstawić do swoich postów małe fragmenty kodu jako próbkę. W końcu bardzo często konieczne jest pokazanie czytelnikom próbek kodu źródłowego w PHP, JavaScript, CSS lub dowolnym innym języku programowania.

Domyślnie WordPress filtruje każdy surowy kod dodany do postów, stron, widżetów lub komentarzy. Odbywa się to ze względów bezpieczeństwa, aby kod programu nie był wykonywalny. Jeśli np. najpierw napiszesz post w Wordzie lub dowolnym edytorze tekstu, a następnie wkleisz ten tekst w pole edycji posta w konsoli WordPress, silnik automatycznie przekonwertuje część znaków. Na przykład symbol< в режиме просмотра Текст будет преобразован в < . Т.е., если вы вставляете в Визуальном режиме, например, фрагмент кода, который начинается с

W rzeczywistości ten sam rezultat nastąpi, jeśli nie wkleisz tekstu źródłowego, ale napiszesz go bezpośrednio w trybie Edytora wizualnego. Jeśli jednak napiszesz kod bezpośrednio w trybie tekstowym, system, ponownie ze względów bezpieczeństwa, skomentuje Twój kod i całkowicie usunie niektóre znaki specjalne.

Spróbuj na przykład pisać w trybie tekstowym:

Po przełączeniu do trybu wizualnego (lub po opublikowaniu postu) żądany tekst nie będzie widoczny Witaj świecie! ponieważ system ukrył go tak, że nie był wykonywalny. I tu dochodzimy do problemu: jak wyświetlić kod programu w postach WordPress?

Łatwy sposób na wyświetlenie kodu w WordPress

Najłatwiejszym sposobem dodania kodu do swoich postów jest zawinięcie kodu programu w trybie tekstowym znacznikiem HTML

Ten znacznik ma na celu pokazanie kodu w takiej postaci, w jakiej został wydrukowany, tj. ze wszystkimi spacjami, znakami specjalnymi i tym podobnymi.  Byłoby oczywiście możliwe nieużywanie tego znacznika, ale napisanie całego kodu programu na raz przy użyciu jednostek HTML, ale jest to bardzo złożone podejście.  Znacznie łatwiej jest napisać niezbędny kod w trybie Visual edycji publikacji, a następnie przejść do trybu Text i oprawić żądany fragment tagami 
........
, a jednocześnie wszystkie „niebezpieczne” znaki programowe są automatycznie konwertowane na encje HTML.

Na przykład powyższy kod w trybie tekstowym będzie wyglądał następująco:

Etykietka

jest idealnym elementem dla dużych bloków kodu, ponieważ pozwala zachować wszystkie spacje, tabulatory i tym podobne.

W przypadku małych bloków kodu możesz użyć tagu HTML5 zaprojektowanego specjalnie dla kodu - . W trybie edycji tekstu w WordPressie istnieje nawet specjalny krótki kod. Edytując post, wybierz żądany fragment i kliknij przycisk kodu na pasku narzędzi, a fragment ten zostanie otoczony tagami ........ .

Etykietka

- blok i znacznik — inline, czyli większość przeglądarek wyświetla to jako display: inline;  i można to pokazać bezpośrednio w akapicie, a nie w nowej linii.

Skomplikowany sposób wyświetlania kodu w WordPress

Jako złożony sposób wyświetlania kodu programu dołączam do tego specjalne wtyczki (na przykład Crayon Syntax Highlighter, Syntax Highlighter Evolved i tym podobne). Ktoś może twierdzić, że wręcz przeciwnie, jest to prosta metoda, ja jednak uważam, że wszelkiego rodzaju fantazyjne wtyczki tylko wszystko komplikują. Bardzo często na stronach internetowych można spotkać się z sytuacją, gdy wcześniej zaprojektowany kod wykorzystujący skróty wtyczek po pewnym czasie nadal wyświetla się w przeglądarce, np.:

ale powinien być piękny projekt i podświetlanie składni. Bardzo często takie wtyczki nie są kompatybilne z nowymi wersjami silnika, lub webmasterzy często zapominają o ich aktualizacji. Albo, co gorsza, używają kilku takich wtyczek na raz.

Tak, takie wtyczki bardzo ładnie podświetlają składnię w locie za pomocą JavaScript i CSS, ale w większości są dość „ciężkie” dla systemu, a podstawowe podświetlanie składni można wykonać bez wtyczek, używając kilku klas dla div, span, code i pre tagi, a także kilka linii stylów CSS.

Wybór nalezy do ciebie!

Chciałbym uwzględnić korzystanie z usług stron trzecich jako złożoną metodę wstawiania kodu na stronach WordPress. Istnieje sporo witryn, na których można napisać prawie dowolny kod, który będzie wyświetlany tak, jak powinien. Przykłady takich usług: CodePen, GitHub Gists i JSFiddle.

Zapewniają bardzo ładne podświetlanie składni, a nawet widok demonstracyjny wyniku wykonania kodu, ale ich złożoność polega na konieczności użycia ramek iframe lub zewnętrznych bibliotek JavaScript do wstawienia. Używam tej metody tylko do pokazania demonstracji wyniku wykonania kodu.

Wniosek

Jak widać dodanie kodu do strony WordPress nie jest aż tak trudnym zadaniem, jednak i tak trzeba znać podstawowe rozwiązania w tym zakresie.

Jeśli masz inne rozwiązania dotyczące dodawania kodu do postów/stron WordPress, daj nam znać w komentarzach poniżej.

Nowość na stronie

>

Najbardziej popularny