2004 óta, amikor a WordPress 1.2 könnyű világa megjelent, a szűrők és a műveletek a témák és modulok fejlesztésének sarokkövei közé tartoznak.
A hookok (a PHP-függvények két különböző csoportjának általános kifejezése) lehetővé teszik a WordPress funkcionalitásának módosítását vagy kiterjesztését anélkül, hogy bármilyen módon meg kellene akadályoznia a kernelfájlokat. Az alábbiakban megmutatjuk, hogy a szűrő megváltoztatja a tartalom értékét, és a művelet egyidejűleg hozzáadhat egy másikat a meghívott függvényhez. Ennek köszönhetően egy nagyon hatékony eszköz áll rendelkezésünkre egyedi blogok vagy weboldalak létrehozásához, ugyanakkor nem kell aggódnunk a WP legújabb verziójára való frissítéskor.
A szűrő akkor indítja el a WordPresst, amikor módosítja a szöveget vagy más típusú tartalmat, mielőtt azt hozzáadná az adatbázishoz vagy elküldené a böngészőnek. A modul megadhatja, hogy egy vagy több PHP függvény egy adott típusú tartalmat egy adott időpontban módosítson.
Egy egyszerű példa arra, hogy megértsük, mi az alapja a horgoknak, egy meglévő funkció és annak módosításainak bemutatása.
function get_excerpt($text, $length = 150) { $excerpt = substr($text,$length); return $excerpt; }
Ez a függvény két paramétert tartalmaz: egy karakterláncot és azt a hosszt, amelyre le akarjuk rövidíteni. Kétszáz karaktert szeretne a bejegyzésben az alapértelmezett 150 karakter helyett? Nem probléma, a függvény használatakor megváltoztatjuk a paramétert. Először is alkalmazunk egy szűrőt a függvényhez, amely beállítja a jelentés hosszát.
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length', $length); $excerpt = substr($text,$length); return $excerpt; }
Ennek a szűrőnek a neve kivonat_hosszúság, és még nem kapcsoltak hozzá függvényt, így a lista 150 karakternél marad. Tehát közölnünk kell a rendszerrel, hogy „be akarjuk akasztózni” az excerpt_length szűrőt és új értéket definiálni. Ezt a következő bejegyzéssel módosítjuk:
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length'); $excerpt = substr($text,$length); return $excerpt; } function modify_excerpt_length() { return 200; } add_filter('excerpt_length', 'modify_excerpt_length');
Kész, az összes utasításra az a szabály, hogy 200 karakterből álljanak. Anélkül, hogy az eredeti funkciót megzavarnánk, szűrő alkalmazásával módosítottuk a hozzájárulások listájának hosszát, és a változás minden megjelenített utasításban megjelenik.
A művelet a parancs végrehajtása során vagy egy adott esemény bekövetkezésekor adott pontokon indítja el a WordPress-t. A modul egy művelettel megadhatja, hogy egy vagy több PHP függvény végrehajtásra kerüljön ezeken a pontokon.
Példa egy hasznos műveletre, ha az aktív témában lévő header.php fájlba beszúr egy oldal ikonjára mutató hivatkozást. A theme_favicon nevű függvény egy HTML-kódot tartalmaz a favicon.ico fájl tárolási címével, a következőt írja : add_action (‘wp_head’, ‘theme_favicon’); közöljük a rendszerrel, hogy a függvényünket hozzá akarjuk fűzni a wp_head függvényhez az említett kód beszúrásával a címkék közé< fej>< / haed> .
function theme_favicon() { ?> <link rel="shortcut icon" href="<?php bloginfo('stylesheet_directory') ?>/images/favicon.ico"/> <?php } add_action('wp_head', 'theme_favicon');
A jó hír az, hogy a WordPress mindenhol használ funkciókat, a szerkesztési lehetőségek pedig lényegében korlátlanok, de a kezdő fejlesztőket elriaszthatja a szám (jelenleg 1500 felett van). Nem könnyű eligazodni ennyi funkció között, de a hivatalos WordPress dokumentációban jól kidolgozott szűrő- és műveletjelentések találhatók, Adam R. Brown horogadatbázisa pedig jó kiindulópont a horgok tanulmányozásához.
Segített Önnek ez a cikk? Kérem, egy megosztással támogasson. 👍