Testreszabás
Jogi szövegek módosítása szűrővel, „Hozzájárulás kezelése” gomb saját linkkel, hozzáférés adása más szerepköröknek.
Jogi dokumentumok szövegének módosítása
Szekció neve “Jogi dokumentumok szövegének módosítása”A dokumentumokat a varázsló generálja, és shortcode-dal kerülnek az oldalra. Ez teszi lehetővé a jogszabályi frissítéseket és a fordításokat. Ha a szöveget közvetlenül átírod az oldalon, ezek a frissítések megszűnnek, ezért a módosításokat szűrővel (hook) végezd, a téma functions.php fájljában. Még jobb egy must-use (MU) bővítmény, vagy gyermektéma használata.
Néhány szabály:
- A szűrőnek tudnia kell, melyik szöveget cserélje, ezért a régi és az új szövegnek tartalmaznia kell egy közös azonosítót (például a „Red apples are” kezdet a „Red apples are sold out” és a „Red apples are on sale” cseréhez).
- Minél egyedibb a keresett szöveg, annál jobb.
- A
functions.phpmódosítása előtt készíts róla másolatot. - A
<?phpnyitó sort afunctions.php-ba illesztéskor hagyd el, MU-bővítményben meg kell tartani.
Egy szöveg cseréje
Szekció neve “Egy szöveg cseréje”function cmplz_edit_document_html( $html, $type, $post_id ) { $old_string = "Ez a régi szöveg"; $new_string = "Ez az új szöveg."; $html = str_replace( $old_string, $new_string, $html ); return $html;}add_filter( 'cmplz_document_html', 'cmplz_edit_document_html', 10, 3 );Több szöveg cseréje
Szekció neve “Több szöveg cseréje”function cmplz_edit_document_html( $html ) { $old_strings = array( "Cookies", "website" ); $new_strings = array( "Cookies-csere", "website-csere" ); $html = str_replace( $old_strings, $new_strings, $html ); return $html;}add_filter( 'cmplz_document_html', 'cmplz_edit_document_html', 10, 3 );Nyelvenként eltérő cseréhez ugyanezt a szűrőt használhatod: a függvény a harmadik paraméterben kapott nyelvi kód (például en_US) vagy a webhely nyelve alapján választ egy tömbpárt. Nyelvenként a régi és az új tömbnek ugyanannyi elemből kell állnia.
Szöveg cseréje a sütilistában
Szekció neve “Szöveg cseréje a sütilistában”A cmplz-cookies shortcode a sütilistát a jogi dokumentumoktól külön állítja elő, ezért a cmplz_document_html szűrő rá nem vonatkozik. A lista szövegének cseréhez a WordPress saját do_shortcode_tag szűrőjét használd:
add_filter( 'do_shortcode_tag', function ( $output, $tag ) { if ( 'cmplz-cookies' === $tag ) { $output = str_replace( 'Ez a régi szöveg', 'Ez az új szöveg', $output ); } return $output;}, 10, 2 );- Ez a szűrő csak a
cmplz-cookiesshortcode kimenetét érinti, a jogi dokumentumokat nem. - Itt is érvényes, hogy a keresett szövegnek elég egyedinek kell lennie, hogy máshol ne cserélődjön ki.
„Hozzájárulás kezelése” gomb
Szekció neve “„Hozzájárulás kezelése” gomb”A Complianz shortcode-jai közül egyik sem jeleníti meg a sávot a hozzájárulás visszavonása nélkül. Ezt egy kis szkripttel oldhatod meg.
- Add hozzá a következő kódot a
functions.php-hoz vagy egy MU-bővítményhez (a<?phpnyitó sort csak MU-bővítményben tartsd meg, afunctions.php-ból hagyd el):
function cmplz_show_banner_on_click() { ?> <style> .cmplz-show-banner { cursor: pointer; } </style> <script> document.addEventListener('click', function (e) { if (e.target.closest('.cmplz-show-banner')) { document.querySelectorAll('.cmplz-manage-consent').forEach(function (obj) { obj.click(); }); } }); </script> <?php}add_action( 'wp_footer', 'cmplz_show_banner_on_click' );- Tegyél az oldalra egy linket vagy gombot a
cmplz-show-bannerosztállyal:
<p>Sütibeállítások módosítása: <a class="cmplz-show-banner">kattints ide</a>.</p>A cmplz-show-banner osztályt gombra is teheted, és saját CSS-sel stílust adhatsz neki (például lekerekítést, árnyékot, hátteret a .cmplz-show-banner szelektorral). A hivatkozás a sávot a hozzájárulási döntés módosítása nélkül nyitja meg.
A kód Header Footer Code Manager jellegű bővítményben is működik, de ott csak a <script> és a <style> címkék közötti részt használd, a címkékkel együtt.
Hozzáférés más szerepköröknek
Szekció neve “Hozzáférés más szerepköröknek”A Complianz felületét a manage_privacy képesség vezérli. Aki nem rendelkezik vele, nem kezelheti a bővítményt. A képesség az adatbázisban tárolódik, ezért a kód eltávolítása után is megmarad.
Egyetlen felhasználónak (ajánlott):
add_action( 'init', function () { $user_id = 123; // a felhasználó azonosítója $user = get_user_by( 'id', $user_id ); if ( ! $user ) { return; } if ( ! $user->has_cap( 'manage_privacy' ) ) { $user->add_cap( 'manage_privacy' ); }} );Egy teljes szerepkörnek (például a szerkesztőknek):
add_action( 'init', function () { $role = get_role( 'editor' ); if ( ! $role ) { return; } if ( ! $role->has_cap( 'manage_privacy' ) ) { $role->add_cap( 'manage_privacy' ); }} );Visszavonáshoz ugyanezt a kódot remove_cap( 'manage_privacy' ) hívással futtasd le (felhasználóra vagy szerepkörre), majd jelentkezz ki és be újra, vagy ürítsd az objektum-gyorsítótárat.
Készült: Frissítve: