oktatas:web:cms:wordpress:egyedi_widgetek
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
oktatas:web:cms:wordpress:egyedi_widgetek [2023/03/18 22:11] – létrehozva admin | oktatas:web:cms:wordpress:egyedi_widgetek [2023/03/18 22:14] (aktuális) – [A WordPress] admin | ||
---|---|---|---|
Sor 8: | Sor 8: | ||
* Web: https:// | * Web: https:// | ||
- | ===== A WordPress ===== | + | |
+ | |||
+ | |||
+ | ===== A WP_Widgets osztály ===== | ||
+ | |||
+ | A saját widgetünket az alkalmazott téma functions.php állomány | ||
+ | végén kell elhelyeznünk. A twentyseventeen téma esetén ez: | ||
+ | |||
+ | * / | ||
+ | |||
+ | Az osztály neve tetszőleges, | ||
+ | |||
+ | <code php> | ||
+ | ... | ||
+ | class sajat_widget extends WP_Widget { | ||
+ | //Ide kerülnek a függvények | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | A következőkben áttekintjük milyen függvényeket kell létrehoznunk. | ||
+ | |||
+ | ===== Konstruktor hozzáadása ===== | ||
+ | |||
+ | A konstruktorban állíthatjuk be a widget nevét és leírását, | ||
+ | a beállításoknál látunk viszont. | ||
+ | |||
+ | <code php> | ||
+ | function __construct() { | ||
+ | parent:: | ||
+ | ' | ||
+ | __(' | ||
+ | array(' | ||
+ | ' | ||
+ | ); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== widget() hozzáadása ===== | ||
+ | |||
+ | A widget() függvény meghatározza az egyéni widget megjelenítését. | ||
+ | |||
+ | <code php> | ||
+ | public function widget($args, | ||
+ | $title = apply_filters(' | ||
+ | echo $args[' | ||
+ | |||
+ | if( !empty($title)) { | ||
+ | echo $args[' | ||
+ | } | ||
+ | echo __(' | ||
+ | echo $args[' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Űrlap hozzáadása ===== | ||
+ | |||
+ | Szintén a beállításoknál a widget beállítási lehetőségét adjuk meg. | ||
+ | |||
+ | Ezt a form() függvényben végezzük el, egy szöveget fogunk bekérni, | ||
+ | egy egy alapértelmezett szöveget is megadunk. | ||
+ | |||
+ | <code php> | ||
+ | public function form($instance) { | ||
+ | if(isset($instance[' | ||
+ | $title = $instance[' | ||
+ | }else { | ||
+ | $title = __(' | ||
+ | } | ||
+ | ?> | ||
+ | <p> | ||
+ | < | ||
+ | <input id="<? | ||
+ | name="<? | ||
+ | type=" | ||
+ | value="<? | ||
+ | </ | ||
+ | <?php | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Frissítés hozzáadása ===== | ||
+ | |||
+ | Frissíti a widget-t, amikor frissülnek a beállítások. | ||
+ | |||
+ | <code php> | ||
+ | public function update($new_instance, | ||
+ | $instance = array(); | ||
+ | $instance[' | ||
+ | strip_tags($new_instance[' | ||
+ | return $instance; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Az egyedi widget regisztrációja ===== | ||
+ | |||
+ | Az egyedi widgetünket regisztrálni kell a WordPress-ben. | ||
+ | Ezt szintén a function.php függvényben kell megtenni, de már | ||
+ | osztályon kívül. | ||
+ | |||
+ | <code php> | ||
+ | function sajat_register_widget() { | ||
+ | register_widget(' | ||
+ | } | ||
+ | |||
+ | add_action(' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Egyben ===== | ||
+ | |||
+ | |||
+ | <code php wp-content/ | ||
+ | <?php | ||
+ | //... | ||
+ | |||
+ | class sajat_widget extends WP_Widget { | ||
+ | |||
+ | function __construct() { | ||
+ | parent:: | ||
+ | ' | ||
+ | __(' | ||
+ | array(' | ||
+ | ' | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | public function widget($args, | ||
+ | $title = apply_filters(' | ||
+ | echo $args[' | ||
+ | |||
+ | if( !empty($title)) { | ||
+ | echo $args[' | ||
+ | } | ||
+ | echo __(' | ||
+ | echo $args[' | ||
+ | } | ||
+ | |||
+ | public function form($instance) { | ||
+ | if(isset($instance[' | ||
+ | $title = $instance[' | ||
+ | }else { | ||
+ | $title = __(' | ||
+ | } | ||
+ | ?> | ||
+ | <p> | ||
+ | < | ||
+ | <input id="<? | ||
+ | name="<? | ||
+ | type=" | ||
+ | value="<? | ||
+ | </ | ||
+ | <?php | ||
+ | } | ||
+ | |||
+ | public function update($new_instance, | ||
+ | $instance = array(); | ||
+ | $instance[' | ||
+ | strip_tags($new_instance[' | ||
+ | return $instance; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | function sajat_register_widget() { | ||
+ | register_widget(' | ||
+ | } | ||
+ | |||
+ | add_action(' | ||
+ | |||
+ | </ | ||
+ | |||
+ | A fentiek szerint, mentsük a functions.php fájlba, majd | ||
+ | nézzük meg a widgeteket. Megtaláljuk a sajátunkat. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Linkek | ||
+ | * https:// | ||
oktatas/web/cms/wordpress/egyedi_widgetek.1679173909.txt.gz · Utolsó módosítás: 2023/03/18 22:11 szerkesztette: admin