itthon Irodai felszerelés A bejegyzések beágyazása egy WordPress oldalba. Futtatható php kód a WordPress bejegyzésekben

A bejegyzések beágyazása egy WordPress oldalba. Futtatható php kód a WordPress bejegyzésekben

Vannak helyzetek, amikor nagyon kényelmes a PHP programozási nyelvben rejlő lehetőségek teljes kihasználása a szövegben cikkek írásakor. A WordPresshez készült cikkekről beszélünk.

Bárki, aki megpróbált bármilyen PHP kódot írni egy bejegyzésbe, abban a reményben, hogy működni fog, tudja, hogy a WordPress egyszerű szövegként kezeli az ilyen kódot. Néha azonban célszerű például valamilyen kimeneti hurkot közvetlenül a szövegben futtatni cikk írásakor, mert az ilyen cikkek tartalma dinamikusan frissül. Egy másik példa az, hogy szükség esetén kész függvényeket hívhatunk meg egy bejegyzésben, vagy például beszúrhatunk valamilyen PHP fájlt egy bejegyzés szövegébe a php request() függvény segítségével:

Kötelező "my_script.php";

Általánosságban elmondható, hogy a fantázia itt határtalan, és az igazság az, hogy bizonyos esetekben valós problémává válhat, ha egy cikk szövegében nem lehet php-t használni. Egyszer találkoztam egy ilyen problémával, úgy oldottam meg, hogy átvettem és kicsit módosítottam a kódot valamilyen pluginból (most nem emlékszem a nevére).

Tehát a beszúrási képesség megvalósítása futtatható PHP-szkriptek egy cikk/bejegyzés vagy statikus oldal szövegében, a következő kódot kell hozzáadnia a téma functions.php fájljához, amely valószínűleg fájdalmasan ismerős számunkra:

## Végrehajtható PHP-kód a WordPress bejegyzés tartalmában. ## PHP_code ## ## @verzió: 1.0 if("Futtatható PHP kód a tartalomban")( add_filter("the_content", "content_exec_php", 0); függvény content_exec_php($content)( return preg_replace_callback("/\( . +?)\[\/exec\]/s", "_content_exec_php", $content); ) függvény _content_exec_php($egyezik)( if(" off" === $matches)( return "\n\n<"."pre>". htmlspecialchars($matches) ."\n\n"; ) else ( eval("ob_start(); ($egyezik); \$exec_php_out = ob_get_clean();"); return $exec_php_out; ) ) )

A kód hozzáadása után lehetséges lesz az ilyen típusú konstrukciók használata a cikkekben:

Php kód

Például:

// Globális megjegyzések $wp_version; echo "Aktuális WP verzió: $wp_version";

A kódvégrehajtás letiltásához használhatja a következő konstrukciót. Egyszerűen megjeleníti a kódot, mintha a php kódot szövegként illesztettük volna be.

Php kód

Fontos a védelem szempontjából

Emlékeztetni kell arra, hogy bárki használhatja ezt a funkciót, ami óriási biztonsági rést jelent, mert ha bárki hozzáférhet cikkíráshoz, könnyen azt csinálhat az oldallal, amit akar.

Hogy megvédje magát a feltörés lehetséges káros következményeitől, a következő egyszerű védekezést teheti (ami rögtön eszembe jutott): csak akkor engedélyezze a php kódkonstrukció végrehajtását, ha például a bejegyzésben van valamilyen egyéni mező, vagy Tegyük fel, hogy a bejegyzés 00 perckor íródott. Természetesen csak Ön tudja ezt a trükköt, amelyben a kód végrehajtásra kerül, és ennek megfelelően csak Önnek lesz lehetősége PHP kódot beilleszteni a cikkbe.

Ez a funkció segít eltávolítani egy tucat felesleges beépülő modult, amelyek bármilyen egyszerű adatot beillesztenek a bejegyzés törzsébe, az előfeldolgozás lehetőségével. Tegyük fel, illesszen be egy adsense blokkot bárhová. Vagy a dollár valós időben frissített árfolyama. Vagy a WP adatbázisban vagy egy harmadik fél táblájában tárolt bármely érték.

Néha be kell szúrnia az aktuális dátumot a szöveg közepére. Vagyis a dátum nem a bejegyzés megjelenésének időpontja, hanem az olvasó szemszögéből az aktuális dátum. Vagy bármilyen más változó információ vagy JS-kódrészlet a motor általi utófeldolgozás nélkül. Vagy valami, amit minden alkalommal újra kell számolni az oldal frissítésekor, és ennek a bejegyzésnek a törzsében kell lennie. Vagy... Nos, azt hiszem, megérted. :)

Írunk egy plugint! Nagyon egyszerű, és nem igényel ismereteket a WP bővítmények létrehozásához. Egyetlen hátránya, hogy hiányzik az „arc” a WP adminisztrációs paneljéből, vagyis nem lenne jó, ha egyes ügyfeleknek kiadnák. De a saját igényeidre ez a lehetőség kiváló.

A /wp-content/plugins/ mappában hozzon létre egy fájlt valamilyen egyedi névvel, mondjuk „insert-any-data-into-post.php”. Először írunk egy megjegyzésblokkot, amelyet a WP ezt követően elemzi, hogy leírja a bővítményt az adminisztrációs panelen. Bármilyen adatot írhat, majd csatlakoztassa a rövid kódot, és írjon egy egyszerű függvényt. Minden kód:

Röviden ennyi. :) A funkción belül tetszőleges műveletet végezhet, bármilyen adat fogadása és feldolgozása. A fenti példában, amikor egy bejegyzésben bárhol egy tervet ír, az aktuális dátum akkor jelenik meg, amikor a látogató megtekintette ezt a bejegyzést.

Különféle paramétereket is megadhat ehhez a funkcióhoz. Tegyük fel, hogy az alábbi kód kibővíti funkciónkat, és lehetőséget ad arra, hogy ne csak az aktuális dátumot, hanem a tegnapi/holnapi dátumot is megjelenítse, illetve a dátum típusának módosítását is lehetővé teszi.

Függvény give_me_date_handler ($atts) ( //az attribútumok tömbjéből megengedett változókat és alapértelmezett értékeket állítunk be, opcionális, de kényelmes kivonat(shortcode_atts(array("type" => "tegnap,ma,holnap", "format" => "short ,full"), $atts)); //rendezzük, hogy melyik dátumra van szükség switch($type) ( case "tomorrow": $time = strtotime("+1 day"); break; case "tegnap" : $time = strtotime("-1 day"); szünet; alapértelmezett: $time = time(); ) // iterálja a dátumtípust if ($format == "short") $date = date("d.m.Y" , $idő); különben $dátum = dátum("r", $idő); return $date; )

A függvényünk változóit egy címkével állítjuk be a bejegyzésben, így:

A fent írt címke eredménye: 2019.08.21

Képernyőkép a bejegyzésszerkesztő adminisztrátori területről:

A függvényen keresztül lekérheti az adatokat az adatbázisból, és visszaadhatja azokat; egyszerűen visszaadhatja a JS-kódot, és a kényelem kedvéért becsomagolja az ob_start() és ob_end_clean() karakterláncokba. Több rövid kódot és ennek megfelelően több funkciót is létrehozhat, így egy fájlba/bővítménybe helyezheti az összes szükséges „beillesztést” a kiadvány törzsén belüli használathoz.

Általában hasznos dolog!

- 2 szavazat alapján 5-ből 5.0

Az előző cikkben megnéztük WordPress blogunkhoz, és itt megnézzük, hogyan adhatók hozzá bejegyzések (jegyzetek) a WordPressben.

A WordPressben kétféle tartalom létezik, a bejegyzések vagy ahogyan ezeket jegyzeteknek és oldalaknak is nevezik. A bejegyzések dinamikus tartalmak, amelyek rendszerint folyamatosan megjelennek a blog bizonyos részeiben.

Ami az oldalakat illeti, ezek közönséges statikus oldalak, amelyekkel létrehozhat például egy oldalt a szerzőről vagy egy blogot.

Bejegyzés létrehozásához lépjen a WordPress adminisztrációs panelre: „Bejegyzések” >> „Új hozzáadása”.

Ennek eredményeként betöltődik egy szövegszerkesztő, amelynek eszközeivel ugyanúgy formázhatja a szöveget, mint az MS Word szerkesztőben.

1. A terepen "Adja meg a címet", adja meg a bejegyzés címét.

2. A panel használata "Betöltés/beillesztés", letöltheti és beillesztheti bejegyzésébe a szükséges képeket és médiafájlokat.

3. A „Vizuális” és „HTML” lapok használatával továbbléphet a HTML-kód szerkesztésére, vagy továbbra is vizuális környezetben dolgozhat.

4. A paneleszközök segítségével formázhatja a szöveget. A megfelelő ikonra kattintva megnyílik egy további panel nagyon hasznos eszközökkel.

Először adja meg a bejegyzés címét, majd miután megadta a címet, és a kurzort a szerkesztő szövegmezőjébe helyezi, a cím alatt automatikusan létrejön egy állandó hivatkozás, amelyet ehhez a bejegyzéshez használunk. Állandó hivatkozásokat állítottunk be a leckében: "".

Szöveg beszúrása.

Ha a szövegeket az MS Word szerkesztőben készíti elő, majd ne másolja közvetlenül a szerkesztő ablakba, használja a „Beillesztés a Wordből” eszközt.

Ehhez másolja ki a szöveget a Wordben, majd lépjen a WordPress szerkesztőbe, és kattintson a „Beillesztés a Wordből” ikonra, majd illessze be a szöveget a megnyíló ablakba, és kattintson a „Beillesztés” gombra.

Ha közvetlenül a Word szövegét illeszti be a WordPress szövegszerkesztőbe, akkor a szöveg mögé sok felesleges kódot másol, amelyek a szöveg formázásáért felelősek. Ennek eredményeként növeli az oldal méretét, ráadásul a nagy mennyiségű felesleges kód jelenlétét nem kezelik túl jól a keresőmotorok.

Szúrjon be egy képet a szövegbe.

Ha képet szeretne beszúrni a szövegbe, vigye a kurzort arra a helyre a szövegben, ahová a képet be szeretné szúrni, majd kattintson a „Kép beszúrása” ikonra:

Ennek eredményeként egy ablak három fület fog betölteni. A „Számítógépről” fül segítségével letölthet és beilleszthet bármilyen, a számítógépén található képet. A „Webhelyről” lapon megadhatja a már bármely webhelyen található kép elérési útját, a „Fájltár” lapon pedig bármilyen képet beszúrhat a médiakönyvtárból. A médiakönyvtár az összes korábban letöltött fájlt tárolja.

Példaként szúrjunk be egy képet egy számítógépről. Ehhez kattintson a „Fájlok kiválasztása” gombra, válassza ki a kívánt képet, majd kattintson a „Megnyitás” gombra. Ennek eredményeként a kép betöltődik. A kép feltöltése után egy ablak jelenik meg előtted, melynek eszközeivel beállíthatod a kép egyes attribútumait.

A „Cím” mező kitöltése kötelező. A fennmaradó „Szöveg”, „Aláírás” és „Leírás” mezőket igény szerint kitöltheti.

A „Link” mezőben beállíthat egy linket, amely a képhez vezet. Alapértelmezés szerint a link a képre megy, ha rákattint a "Link a bejegyzéshez" gombra, akkor a képről a link magára a bejegyzésre kerül, ha a "Nem" gombra kattint, akkor nem lesz link.

Az „Igazítás” menüpontban beállíthatja a kép pozícióját az oldalon.

A "Méret" menüpontban beállíthatja a kép méretét.

Az összes paraméter megadása után kattintson a „Beszúrás a bejegyzésbe” gombra, és a kép bekerül.

Illessze be a "Next" címkét.

Válassza ki a felvételi formátumot.

A WordPress 3.X verziójától kezdve bevezették a bejegyzésformátumokat. A formátumok használatával kiválaszthat egy adott típusú bejegyzés megjelenítést. Ez a funkció lehetővé teszi a sablonfejlesztők számára, hogy igényeiktől függően különféle típusú bejegyzéseket hozzanak létre. A WordPrees-be alapértelmezés szerint telepített sablon három postmegjelenítési formátumot használ:

A bejegyzésformátumok a szerkesztő jobb oldalán található panelen választhatók ki. A bejegyzésformátumok csak a WordPress témák 3.X verziójában érhetők el. Összesen 10 bejegyzésformátum támogatott, elérhetőségük a használt témától függ. Ha egyik vagy másik formátumot használja, címkézze meg be van állítva a hozzá tartozó osztály, amellyel egy adott poszt formátumot adhatunk CSS segítségével konkrét dizájnt.

Nemrég az egyik olvasónk megkérdezte, hogy van-e mód arra, hogy egy WordPress-oldalról tartalmat adjunk hozzá egy másik oldalhoz vagy bejegyzéshez. Ebben a cikkben megmutatjuk, hogyan illeszthet be tartalmat egy WordPress-oldalról egy másik bejegyzésbe, oldalba vagy bármilyen egyéni bejegyzéstípusba.

Mindenekelőtt telepítenie és aktiválnia kell az Oldalak beszúrása bővítményt. Az aktiválás után egyszerűen lépjen a szakaszra Hozzászólások » Új hozzáadása a webhely adminisztrációs paneljére, hogy működés közben lássa.

Ha vizuális szerkesztőt használ, egy új gombot fog látni a menüben, melynek neve "Oldal beszúrása".

Ha rákattint, megjelenik egy felugró ablak, ahol kiválaszthatja a hozzáadni kívánt oldalt, bejegyzést vagy egyéni bejegyzéstípust.

A bejegyzésbe/oldalba való beszúrás módját a gombra kattintva választhatja ki Lehetőségek. Alapértelmezés szerint hozzáadhat címet, tartalmat, hivatkozást, vagy választhat egyéni sablont. Az egyéni sablonokról a cikk későbbi részében fogunk többet mondani.

A bejegyzés/oldal kiválasztása után kattintson a gombra Oldal beszúrása. Beépülő modul a kiválasztott bejegyzés/oldal megjelenítéséhez szükséges rövid kód hozzáadásához.

Ha szövegszerkesztőt használ a bejegyzések megírásához, a rövid kódot manuálisan is beillesztheti. A rövid kódok beállításai meglehetősen egyszerűek.

A rövid kód oldalparamétere elfogadja az oldal slug-ját vagy annak azonosítóját. Kérjük, vegye figyelembe, hogy a slug bármilyen típusú bejegyzés lehet, nem feltétlenül egy oldal.

Megadhatja a bejegyzés azonosítóját is. Arról már írtunk, hogyan lehet megtudni egy bejegyzés azonosítóját a WordPressben.

Egyéni bejegyzéstípusok hozzáadása a blogbejegyzésekhez

A WordPress használatával bármilyen típusú tartalmat hozzáadhat azáltal, hogy különféle típusú tartalmakhoz bejegyzéstípusokat hoz létre.

Az Oldalak beszúrása beépülő modul lehetővé teszi egyéni bejegyzéstípusok hozzáadását oldalakhoz és blogbejegyzésekhez. Létrehozhat például egyéni bejegyzéstípust egy képgalériához, majd az Oldalak beszúrása funkcióval hozzáadhatja ezeket a galériákat bejegyzéseihez vagy oldalaihoz.

Ugyanígy egyéni bejegyzéstípusokat is létrehozhat videókhoz, portfóliókhoz, vásárlói véleményekhez stb. hogy hozzáadja őket a bejegyzésekhez/oldalakhoz.

Egyéni sablonok használata a beszúrt oldalak megjelenítéséhez

Az Oldalak beszúrása lehetővé teszi a beszúrt oldalak címének, hivatkozásának, tartalmának vagy összes mezőjének megjelenítését. Egyes felhasználóknak azonban finomabb kimeneti beállításokra van szükségük. Ez egyedi sablonok használatával érhető el.

Csak annyit kell tennie, hogy létrehoz egy üres php fájlt, és feltölti a téma mappájába. A fájlt tetszés szerint nevezheti el. Például a custom-author.php.

Ez az egyéni sablon pontosan úgy működik, mint bármely más tartalomsablonfájl a témában. Az alábbiakban egy példa látható a szerzői oldalak megjelenítésére létrehozott sablonfájlra.

Egyéni CSS-osztályokat használhat a sablonfájlban, majd stílusokat alkalmazhat a téma stíluslapfájljában. A szerzői oldal kialakításához a következő kódot használtuk.

H3.author-name ( font-size:16px; ) .author-thumbnail ( float:left; padding:10px; ) .author-bio ( font-style: italic; font-family: Lora, Georgia, Serif; )

Így néz ki a végleges verzió:

Reméljük, hogy ez a cikk segített tartalmat hozzáadni egyik WordPress-oldalról/bejegyzésről a másikra.

Ha kódrészleteket kell beszúrnia egy WordPress webhely bejegyzéseibe vagy oldalaiba, akkor mai bejegyzésünk hasznos lesz az Ön számára. Ez hasznos lehet például, ha programozási oktatóanyagokat tesz közzé, és mintaként kis kódrészleteket kell beillesztenie a bejegyzéseibe. Végtére is, nagyon gyakran szükséges forráskód-mintákat mutatni az olvasóknak PHP, JavaScript, CSS vagy bármilyen más programozási nyelven.

Alapértelmezés szerint a WordPress kiszűri a bejegyzésekhez, oldalakhoz, modulokhoz vagy megjegyzésekhez hozzáadott nyers kódokat. Ez biztonsági okokból történik, hogy a programkód ne legyen végrehajtható. Ha például először Wordben vagy bármilyen szövegszerkesztőben ír egy bejegyzést, majd ezt a szöveget beilleszti a WordPress konzol bejegyzésszerkesztő mezőjébe, a motor automatikusan átalakít néhány karaktert. Például a szimbólum< в режиме просмотра Текст будет преобразован в < . Т.е., если вы вставляете в Визуальном режиме, например, фрагмент кода, который начинается с

Valójában ugyanez az eredmény történik, ha nem illeszti be a forrásszöveget, hanem közvetlenül a Visual Editor módban írja be. De ha közvetlenül szöveges módban ír kódot, akkor a rendszer biztonsági okokból kiírja a kódot, és teljesen eltávolít néhány speciális karaktert.

Próbáljon meg például szöveges módban írni:

Ha vizuális módra vált (vagy egy bejegyzés közzététele után), nem fogja látni a kívánt szöveget Helló Világ! mert a rendszer elrejtette, hogy ne legyen végrehajtható. Itt érkeztünk el a problémához: hogyan jelenítsük meg a programkódot a WordPress bejegyzésekben?

Egyszerű módja a kód megjelenítésének a WordPressben

A legegyszerűbb módja annak, hogy kódot adjon a bejegyzéseihez, ha a program kódját szöveges módban csomagolja egy HTML címkével

Ez a címke a kinyomtatott kód megjelenítésére szolgál, azaz minden szóközzel, speciális karakterrel és hasonlókkal együtt.  Természetesen lehetséges lenne nem ezt a címkét használni, hanem az összes programkódot egyszerre írni HTML entitások segítségével, de ez egy nagyon összetett megközelítés.  Sokkal egyszerűbb megírni a szükséges kódot a kiadvány szerkesztésének vizuális módjában, majd átváltani Szöveg módba, és bekeretezni a kívánt töredéket címkékkel. 
........
, és ezzel egyidejűleg minden „veszélyes” programozási karakter automatikusan HTML entitásokká alakul.

Például a fenti kód szöveges módban így néz ki:

Címke

ideális elem nagy kódblokkokhoz, mert lehetővé teszi az összes szóköz, tabulátor és hasonló megőrzését.

Kis kódblokkokhoz használhat egy kifejezetten a kódhoz tervezett HTML5 címkét - . A WordPress Szövegszerkesztő módjában még egy speciális rövid kód is található ehhez. Egy bejegyzés szerkesztésekor válassza ki a kívánt töredéket, és kattintson a kód gombra az eszköztáron, és ez a töredék címkékkel lesz keretezve ........ .

Címke

- blokk és címke — inline, azaz a legtöbb böngésző megjeleníti: inline;  és közvetlenül a bekezdésben jeleníthető meg, nem pedig új sorban.

A kód megjelenítésének bonyolult módja a WordPressben

A programkód megjelenítésének komplex módjaként ehhez speciális pluginokat (pl. Crayon Syntax Highlighter, Syntax Highlighter Evolved és hasonlók) mellékelek. Valaki azzal érvelhet, hogy ez éppen ellenkezőleg, egy egyszerű módszer, de úgy gondolom, hogy mindenféle divatos bővítmény csak bonyolít mindent. Nagyon gyakran előfordulhat olyan helyzet a webhelyeken, amikor egy idő után is megjelenik a böngészőben a plugin rövid kódjaival korábban tervezett kód, például:

de legyen szép dizájn és szintaktikai kiemelés. Nagyon gyakran az ilyen bővítmények nem kompatibilisek a motor új verzióival, vagy a webmesterek gyakran elfelejtik frissíteni őket. Vagy ami még rosszabb, több ilyen beépülő modult használnak egyszerre.

Igen, az ilyen beépülő modulok nagyon szépen megcsinálják a szintaktikai kiemelést menet közben JavaScript és CSS segítségével, de többnyire elég „nehezek” a rendszer számára, és az alapvető szintaxiskiemelés plugin nélkül is megoldható, több osztály használatával div, span, code és pre. címkéket , valamint számos CSS-stílussort.

A választás a tiéd!

És szeretném belefoglalni a harmadik féltől származó szolgáltatások használatát is, mint egy komplex módszert a kód beillesztésére a WordPress oldalakon. Jó néhány oldal van, ahol szinte bármilyen kódot írhatsz, és az úgy fog megjelenni, ahogy kell. Példák az ilyen szolgáltatásokra: CodePen, GitHub Gists és JSFiddle.

Nagyon szép szintaktikai kiemelést biztosítanak, és még a kódvégrehajtás eredményének demó nézetét is biztosítják, de bonyolultságuk abban rejlik, hogy iframe-eket vagy külső JavaScript-könyvtárakat kell használni a beillesztéshez. Ezt a módszert csak a kódvégrehajtás eredményének bemutató bemutatására használom.

Következtetés

Mint látható, a kód hozzáadása egy WordPress webhelyhez nem is olyan nehéz feladat, de ennek ellenére ismerni kell az alapvető megoldásokat.

Ha bármilyen más megoldása van a kód hozzáadására a WordPress bejegyzésekhez/oldalakhoz, kérjük, ossza meg velünk az alábbi megjegyzésekben.

Új az oldalon

>

Legnepszerubb