Hookok: dinamikus tartalom és kimenet
A Slider Revolution stabil, harmadik fél számára szánt action és filter hookjai a dinamikus tartalomhoz, a poststreamekhez és a megjelenített HTML-hez.
A Slider Revolution összesen 105 stabil, külső fejlesztőknek szánt hookot ad. Ez a fejezet az első két csoportot írja le: a dinamikus tartalmat és a poststreameket, valamint a kimenet (renderelés) hookjait. A többi csoport a modul- és diaéletciklus és a betöltés, beállítások és kiegészítők fejezetekben van.
A filter hook visszatérési értéket vár (mindig add vissza a módosított értéket), az action hook nem. Ahol a leírás $slider vagy $slide objektumot említ, az a RevSliderSlider, illetve RevSliderSlide osztály példánya; a kimeneti objektum RevSlider7Output.
Dinamikus tartalom és poststreamek (18 hook)
Szekció neve “Dinamikus tartalom és poststreamek (18 hook)”Meta- és szövegcserék
Szekció neve “Meta- és szövegcserék”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
rev_slider_insert_meta |
filter | A beszúrt %meta% helyőrző értékét szűri egy bejegyzéshez. Szöveget ad vissza. |
$text, $post_id |
revslider_getExcerptById |
filter | Egy dinamikus dián használt, generált kivonatot szűri. | $excerpt, $post, $limit (a kért hossz) |
revslider_mod_meta |
filter | A bejegyzésadatból épített rétegbe kerülő meta értéket módosítja. | $text, $post_id, $post |
revslider_mod_stream_meta |
filter | A stream (közösségi, feed) adatból épített rétegbe kerülő meta értéket módosítja. | $text, $slider_id, $stream_type, $post_data |
sr_modify_layer_text |
filter | Egy réteg szövegét módosítja egy adott bejegyzéshez, amikor a dinamikus dia épül (helyőrző-csere). | $text, $post_id, $slide |
sr_streamline_post_data_post |
filter | Egy dinamikus dia bejegyzésenkénti adatát egészíti ki vagy módosítja. Ez az elsődleges hook egyedi meta- és mezőkötésekhez, a WooCommerce és az Events Manager integráció is ezt használja. Visszatérés: a bejegyzésadat tömb a hozzáadott mezőkkel. | $post_data, $data (nyers bejegyzéssor), $metas, $slider |
Példa: saját %reading_time% helyőrző a rétegszövegben.
add_filter('sr_modify_layer_text', function($text, $post_id, $slide){ return str_replace('%reading_time%', my_reading_time($post_id), $text);}, 10, 3);Példa: egyedi subtitle mező a diaadatban.
add_filter('sr_streamline_post_data_post', function($post_data, $data, $metas, $slider){ $post_data['subtitle'] = get_post_meta($data['ID'], 'subtitle', true); return $post_data;}, 10, 4);Lekérdezések és bejegyzéslisták
Szekció neve “Lekérdezések és bejegyzéslisták”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
revslider_get_latest_posts |
filter | A „legutóbbi bejegyzések” streamhez használt lekérdezést szűri. Visszatérés: lekérdezési tömb. | $args, $post_id (a hivatkozott bejegyzés) |
revslider_get_popular_posts |
filter | A „népszerű bejegyzések” streamhez használt lekérdezést szűri. | $args, $post_id |
revslider_get_related_posts |
filter | A „kapcsolódó bejegyzések” (aktuális bejegyzés) streamhez használt lekérdezést szűri. | $query, $post_id |
revslider_get_posts |
filter | Az összeállított WP_Query argumentumtömböt szűri közvetlenül a poststream lekérdezése előtt. |
$query, $slider_id |
revslider_get_posts_by_category |
filter | A bejegyzés-, WooCommerce- vagy eseményalapú diastream teljes lekérdezési argumentumkészletét szűri a lekérdezés előtt. Az $args kulcsai: slider_id, cat_id, sort_by, direction, max_posts, post_types, taxonomies, addition, type. |
$args, $slider |
revslider_get_posts_by_categories |
filter | A kategóriaalapú streamlekérdezés lefutása utáni bejegyzéseket szűri. | $post, $slider |
revslider_set_posts_list |
filter | A szokásos poststream végleges bejegyzéslistáját szűri. | $posts, $slider_id |
revslider_set_posts_list_gal |
filter | A galériastream végleges bejegyzéslistáját szűri. | $posts, $slider_id |
revslider_slide_ignore_taxonomies |
filter | Azon taxonómiák listáját szűri, amelyeket a bejegyzésekből épülő diák és helyettesítések figyelmen kívül hagynak. | $taxonomies, $slider |
Példa: csak a publikált bejegyzések kerüljenek a streambe.
add_filter('revslider_get_posts', function($query, $slider_id){ $query['post_status'] = 'publish'; return $query;}, 10, 2);Példa: meta alapú szűrés a bejegyzés-, termék- vagy eseménystreamben.
add_filter('revslider_get_posts_by_category', function($args, $slider){ $args['addition']['meta_query'][] = ['key' => '_featured', 'value' => 'yes']; return $args;}, 10, 2);Streamadatok
Szekció neve “Streamadatok”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
revslider_pre_mod_stream_data |
filter | A bejegyzésgyűjteményt szűri azelőtt, hogy diastream-adattá alakulna. | $posts, $sourcetype, $slider_id |
revslider_post_mod_stream_data |
filter | A bejegyzésgyűjteményt szűri azután, hogy diastream-adattá alakult. | $posts, $sourcetype, $slider_id |
revslider_streamline_stream_data |
filter | Egyedi forrástípushoz rövidre zárja vagy megadja a streamadatot. Alapértéke false; ha ettől eltérőt adsz vissza, az felváltja a beépített streamelést az adott forrásnál. |
$return, $data, $sourcetype, $additions, $slider |
Kimenet és renderelés (18 hook)
Szekció neve “Kimenet és renderelés (18 hook)”Modul HTML-je és azonosítói
Szekció neve “Modul HTML-je és azonosítói”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
revslider_add_slider_to_stage_pre |
action | Lefut közvetlenül azelőtt, hogy a modul bekerül az oldal kimenetébe. | $slider_id (azonosító vagy alias), $output |
revslider_add_slider_to_stage_post |
action | Lefut közvetlenül azután, hogy a modul bekerült az oldal kimenetébe. | $slider_id, $output |
revslider_add_slider_base_post |
action | Lefut a modul alapmarkupjának elkészülte után. | $output |
revslider_get_html_id |
filter | A modul tárolóelemének HTML-azonosítóját szűri. | $html_id, $output, $raw (nyers azonosítót kértek-e) |
revslider_html_output |
filter | A modul teljes generált HTML-jét szűri közvetlenül a kiírás előtt. | $content, $output |
revslider_add_youtube_api_html |
filter | A YouTube-háttér használatakor beszúrt YouTube API HTML-t vagy szkriptet szűri. | $html, $output |
add_filter('revslider_html_output', function($content, $output){ return $content . '<!-- rendered by my theme -->';}, 10, 2);Rétegek
Szekció neve “Rétegek”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
revslider_add_layer_classes |
filter | A réteg burkolóelemére kerülő CSS-osztályokat adja hozzá vagy módosítja. | $classes, $layer, $slide, $slider |
revslider_layer_content |
filter | Egy (nem videó) réteg végleges HTML-jét szűri. A $html_layer a visszaadandó érték, a $html_layer_original az eredeti. |
$html_layer, $html_layer_original, $slider_id, $slide, $layer |
revslider_modify_layer_text |
filter | Egy réteg szövegét módosítja renderelés közben. | $text, $layer |
rs_action_type |
filter | Egy rétegakció feloldott típusát szűri (például egyedi akció regisztrálásához). | $action |
rs_action_link_type |
filter | Egy rétegen lévő hivatkozásakció feloldott típusát szűri. | $link_type |
add_filter('revslider_add_layer_classes', function($classes, $layer, $slide, $slider){ $classes[] = 'my-layer'; return $classes;}, 10, 4);JavaScript és képek
Szekció neve “JavaScript és képek”| Hook | Típus | Mit csinál | Paraméterek |
|---|---|---|---|
revslider_fe_javascript_output |
action | Lefut, amikor a modul frontenden használt inicializáló JavaScriptje kiíródik. | $slider, $html_id |
revslider_pre_add_js |
action | Lefut a modul JavaScript-blokkjának kiírása előtt. | $output |
revslider_post_add_js |
action | Lefut a modul JavaScript-blokkjának kiírása után. | $output |
revslider_modify_slider_settings |
filter | A modulhoz kiírt JavaScript-beállításobjektumot módosítja nyomtatás előtt. | $settings, $slider_id |
sr_add_image_lists |
filter | További képeket ad az előtöltött képek listájához. | $images, $output |
sr_get_image_lists |
filter | Az előtöltésre összegyűjtött képek listáját szűri. | $images, $output |
sr_add_slide_background_image_url |
filter | Egy dia feloldott háttérkép-URL-jét szűri. | $img, $slide, $output |
Példa: a modul elrendezésének átállítása a JavaScript-beállításokban.
add_filter('revslider_modify_slider_settings', function($settings, $slider_id){ $settings['sliderLayout'] = 'fullwidth'; return $settings;}, 10, 2);Készült: