15 Hasznos WordPress funkciók Minden fejlesztőnek tudnia kell
A WordPress tele van nagyszerű funkciókkal a fejlesztők számára. A vékony levegőből ki tudjuk húzni a postalistákat, szinte mindent manipulálhatunk róluk, megragadhatunk minden felhasználót, és megjeleníteniük kell a közösségi média kapcsolatait..
Vannak azonban olyan funkciók, amelyek ismeretlen okokból úgy tűnnek, hogy figyelmen kívül hagyják. Már körülbelül 8 éve kódoltam a WordPress-et, és néha még mindig találok valami újat! Nézzük meg néhányat kedvenc figyelmen kívül hagyott funkciók és megtanulják, hogyan kell használni őket az út mentén.
antispambot ()
Általában néhány szemöldököt emelek ki ezzel, úgy tűnik, hogy az egyik legmegfelelőbb funkció a kódbázisban.
helyettesíti a karaktereket HTML-entitásokkal, amelyek egyik módja maszkolja az e-mail címeket gonosz lehúzóból.antispambot ()
$ email = '[email protected]'; echo "Kapcsolatba léphet velem". antispambot ($ email). ' bármikor'.
Bár ez egy hasznos tidbit, ez egy példa arra is, hogy egyesek miért kritizálják a WordPress-et - ez egy borzalmasan nevezett funkció. A függvény nevének elolvasása után fogalmad sincs, mit csinál.
human_time_diff ()
Amikor egy évvel ezelőtt először megtanultam ezt a funkciót, azt hittem, hogy nemrégiben kellett hozzáadnom, amit egy változáskor elfelejtettem. Nem egészen…
Ez a funkció - amely a két időbélyeg közötti különbséget eredményezi - az 1.5-ös verzió óta van (ez 2018. február 17.)..
Az alábbi nagy kódrészlet, amelyet kölcsönkértem a kódexből, megmutatja, hogy mennyi ideig jelent meg egy aktuális hozzászólás. Használja a a hozzászólás dátuma első érvként és a az aktuális dátum a második.
echo "Ez a hozzászólás megjelent". human_time_diff (get_the_time ('U'), aktuális_idő ('timestamp')). 'ezelőtt';
get_post_meta ()
Vigyázz rám itt, tudom, hogy ez egy jól felhasznált funkció, de hogyan működik ez nem olyan általános tudás. Először is, a második és harmadik paraméter elhagyásával húzza ki az összes metaadatot.
$ all_meta = get_post_meta (14);
Még akkor is, ha csak egyetlen gombnyomással megragadja az adatokat, minden postmeta meghúzódik.
Az ok valójában nagyon logikus. A metaadatokat több helyen használják. Ha
minden használatakor lekérdezi az adatbázist, miután túl sok lekérdezést érünk el. Ehelyett, ha húzza a metaadatokat, akkor az összes gyorsítótárat tárol, és az összes következő metaadat-lekérdezésben használja a gyorsítótárban tárolt értékeket.get_post_meta ()
wp_upload_bits ()
Ez a funkció egyenes fájl feltöltési funkció. Míg a fájl nem kerül a feltöltési mappába, és hozzáadja a WordPress médiaszakaszhoz, ez rendkívül kényelmes, és a többit mindig a
funkció.wp_insert_attachment ()
$ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name']));
Van néhány magyarázat erre: az első paraméter a fájl neve. A második értékcsökkenésre kerül, így null értékre kell állítani (eyeroll a WordPress konzisztencián). A harmadik paraméter a fájl aktuális tartalma.
get_post_field ()
A múltban néhány példát láttam, amikor valaki egy hurkot írt egy hozzászóláshoz, vagy egy dedikált adatbázis lekérdezést írt. Nem kell nekik, amire szükséged van
. Ez a funkció egy mezõ értékét egyetlen bejegyzésre veszi az adatbázisban. Fogjunk egy megjegyzést!get_post_field ()
Ez a bejegyzés Hozzászólások.
wpautop ()
Ez a funkció egy kicsit kiugrott a reflektorfénybe, de még mindig viszonylag ismeretlen. Hasonló a PHP natívhez nl2br
hanem az új vonalak létrehozása helyett csomagolja a tartalmát a bekezdésekbe.
Ez akkor hasznos, ha van egy szövegdobozja, és biztosítani kívánja, hogy ha a felhasználók kettős soros szünetekkel rendelkező bekezdéseket hoznak létre, akkor azok is láthatóak lesznek az előlapon is.
Mit mondanak a felhasználók
wp_is_mobile ()
Ez a megfelelően megnevezett funkció észleli, ha egy felhasználó mobileszközön van, és lehetővé teszi a tartalom megfelelő megjelenítését. Mivel ez egy feltételes címke, a forgatókönyvtől függően igaz vagy hamis.
A gazdagabb felhasználói élmény érdekében látogasson el honlapunkra az asztalon
wp_redirect ()
Az utolsó példa egy másik szép funkciót mutat:
. Ezt a PHP natív helyett kell használni wp_redirect ()
fejléc()
funkció. A WordPress átirányítási funkció lehetővé teszi állítson be egy URL-t az átirányításhoz, és állítsa be az állapotkódot is, nagyszerű az állandó átirányítások kezelésére is.
// Olyan URL-címhez, amely már nem használható wp_redirect ('http://website.com/new-url/', 301);
paginate_links ()
Fogadok, hogy ez a függvény részben a WP-PageNavi plugin népszerűségének köszönhető. Alapértelmezés szerint WordPress megjeleníti az előző / következő linkeket a postai lista végén. WP-PageNavi ezt az oldalszámokkal helyettesíti.
Ez valójában egy kis munkával történhet a
funkciókat. Meglehetősen kevés paramétere van, ezért azt javaslom, hogy vigyázz a dokumentációra.paginate_links ()
A következő kód a kódból azt mutatja be, hogyan lehet hozzáadni egy alapértelmezett hurokhoz, de az egyéni hurkokhoz való hozzáadás nem sok feszültség.
globális $ wp_query; $ big = 999999999; // kell egy valószínűtlen egész echo paginate_links (tömb ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));
wp_die ()
Ez a funkció kiegészíti a PHP-t meghal()
funkció. A különbség az, hogy ez a funkció csak egy egyszerű szöveg helyett egy WordPress-stílusú HTML-t jelenít meg. Ezt a funkciót használhatja a PHP végrehajtásának leállítására. Hozzáadhatja a megjelenítendő üzenetet, címet és további argumentumokat, például:
wp_die ("Hoppá, nincs hozzáférése a", "engedélyhez");
has_block ()
Az 5.0-s verzióban a WordPress egy blokk alapú szerkesztőt vezetett be, Gutenberg nevet. Ez a funkció meghatározza, hogy a tartalom tartalmaz-e egy Gutenberg-et, ugyanolyan, mint a has_shortcode ()
funkció. Visszatér igaz
ha a tartalom tartalmaz egy blokkot, vagy hamis
ha nem.
wp_set_script_translations ()
Mivel a WordPress felhasználói felületének sok része a JavaScript-re fog menni, kényelmesen szüksége van a fordítható szövegek regisztrálására a JavaScript-ben, amit a WordPress elemezhet és megért. Használja ezt a funkciót a szkriptek fordított karakterláncainak beállításához. Az alábbiakban egy példa:
wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');
register_block_type ()
A WordPress 5.0 másik fontos funkciója. Ez a funkció lehetővé teszi új blokk regisztrálását az új WordPress szerkesztőbe. A blokk megjelenik az új szerkesztőben, és beilleszti .
register_block_type ('my-plugin / new-block', tömb ('title' => 'New Block', 'icon' => megafon ',' kategória '=>' widgetek ',' render_callback '=>' render_function_callback ' ,));
rest_do_request ()
Ez a funkció lehetővé teszi a WordPress REST API végpontjainak hívását PHP-n keresztül. Elég hasznos, ha a REST API-ból egy kimenetet kell letöltenie, hogy feldolgozza azt, amit a PHP oldalán tovább feldolgoz ahelyett, hogy a böngésző (front-end) oldala lenne.
$ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ request); $ data = 200 === $ válasz-> get_status ()? $ response-> get_data (): [];
rest_preload_api_request ()
Amikor egy JavaScript-nehéz UI-t építünk a WordPress-ben, tipikusan szükség van egy kezdeti adatkészletre, amely az oldalon belül van elhelyezve. Ez az a funkció, amely lehetővé teszi, hogy ezt tegye. Ezt a funkciót a array_reduce
, például.
// Általános adatok előzetes betöltése. $ preload_paths = array ('/', '/ wp / v2 / típusok? kontextus = szerkesztés', '/ wp / v2 / taxonómia? per_page = -1 és kontextus = szerkesztés', '/ wp / v2 / témák? ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', tömb ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'után');
Következtetés
Ez csak néhány olyan funkció, amely kevésbé ismert, hogy a többi. Újszerű nagyszerű funkciót fedezek fel két havonta, és biztos vagyok benne, hogy a fejlesztői barátaim még jobban meglephetnek minket.
Ha kedvenc homályos funkciója vagy funkciója hasznos, de nem elérhető, tudassa velünk a megjegyzéseket!