( djpety | 2023. 03. 26., v – 17:32 )

[... https://developer.wordpress.org/reference/functions/wp_register_persist… tartalmának bemásolt verziója a függvény nevétől kezdve ]

Írj le mindent, amit megértettél ebből a dokumentáció részletből.

A wp_register_persisted_preferences_meta() függvény a WordPress rendszerben található. Ez a függvény létrehoz egy meta kulcsot a felhasználói beállítások tárolásához, amelyeket átlépések között tartanak számon. Jelenleg ezt a meta kulcsot a blokk szerkesztő használja olyan beállításokhoz, mint a 'fullscreenMode' és 'fixedToolbar'.

A wp_register_persisted_preferences_meta() függvény egy globális $wpdb objektumot használ, amely az adatbáziskezeléshez kapcsolódik. A függvény először létrehoz egy meta kulcsot, amely tartalmazza a blog előtagját, hogy minden multisite rendszerben különböző felhasználói beállításokat lehessen tárolni. Ezután a függvény regisztrálja a meta kulcsot a register_meta() függvény segítségével.

A register_meta() függvény a meta kulcsokat regisztrálja a WordPress rendszerben, és lehetővé teszi a meta adatok mentését és lekérdezését. A wp_register_persisted_preferences_meta() függvényben a meta kulcs típusa 'object', amely lehetővé teszi a tárolt adatok összetett struktúrájának tárolását. A kulcs egyetlen értéket tárol ('single' => true), és a show_in_rest opciója megadja az adatok REST API-ban való megjelenítését.

A wp_register_persisted_preferences_meta() függvény egy beépített WordPress funkció, és a függvény használata segíthet az egyedi felhasználói beállítások kezelésében és tárolásában.

 

Milyen verzió kell hozzá?

A wp_register_persisted_preferences_meta() függvény az 6.1.0 verzióban került bevezetésre a WordPress rendszerben, tehát ez az a verzió, amelyben elérhető ez a függvény. Ha az adott WordPress verzió korábbi, mint 6.1.0, akkor a wp_register_persisted_preferences_meta() függvény nem elérhető a rendszerben. Ha a WordPress verziója későbbi, mint 6.1.0, akkor a wp_register_persisted_preferences_meta() függvény elérhető a rendszerben. Azonban, ha azt szeretnénk tudni, hogy pontosan melyik WordPress verzióban elérhető ez a függvény, akkor a changelog-ban található információk segíthetnek. A wp_register_persisted_preferences_meta() függvény bevezetése 6.1.0 verziójú WordPress-ben szerepel a changelog-ban.

 

Mi a célja, egy rövid mondatban, körítés nélkül?

A wp_register_persisted_preferences_meta() függvény célja, hogy regisztrálja a felhasználói beállítások tárolásához szükséges meta kulcsot a WordPress rendszerben.

 

Írj egy példát, hogyan használhatnám a gyakorlatban?

A wp_register_persisted_preferences_meta() függvényt a WordPress fejlesztői általában úgy használják, hogy regisztrálják vele egyedi felhasználói beállításokat. Például, ha egy bővítményt készítünk, amely lehetővé teszi a felhasználók számára, hogy az oldal megjelenését testre szabják, akkor a wp_register_persisted_preferences_meta() függvénnyel létrehozhatunk egy meta kulcsot, amely a felhasználók beállításait tárolja.

A következő példa bemutatja, hogyan lehet létrehozni egy példát a wp_register_persisted_preferences_meta() függvénnyel:

function my_plugin_register_persisted_preferences() {
    wp_register_persisted_preferences_meta();
}
add_action( 'init', 'my_plugin_register_persisted_preferences' );

function my_plugin_set_user_preferences() {
    $preferences = array(
        'font_size' => 'medium',
        'color_scheme' => 'light',
        'show_sidebar' => true
    );
    update_user_meta( get_current_user_id(), 'my_plugin_preferences', $preferences );
}

function my_plugin_get_user_preferences() {
    $preferences = get_user_meta( get_current_user_id(), 'my_plugin_preferences', true );
    if ( empty( $preferences ) ) {
        $preferences = array(
            'font_size' => 'medium',
            'color_scheme' => 'light',
            'show_sidebar' => true
        );
    }
    return $preferences;
}

 

Ebben a példában az 'init' hook-hoz rendelt my_plugin_register_persisted_preferences() függvény használatával regisztráljuk az egyedi meta kulcsot. Ezután a my_plugin_set_user_preferences() függvényben létrehozunk egy tömböt, amely a felhasználói beállításokat tartalmazza, majd az update_user_meta() függvénnyel elmentjük azokat a 'my_plugin_preferences' meta kulcsba.

A my_plugin_get_user_preferences() függvénnyel a felhasználói beállításokat lehet lekérdezni a 'my_plugin_preferences' meta kulcsból a get_user_meta() függvénnyel. Ha a felhasználói beállítások nem érhetők el, akkor az alapértelmezett beállításokat használjuk.

Ez a példa jól bemutatja, hogyan lehet a wp_register_persisted_preferences_meta() függvényt felhasználni a felhasználói beállítások tárolásához és lekérdezéséhez.

 

Pluginban lehet ezt használni?

Igen, a wp_register_persisted_preferences_meta() függvényt pluginokban is lehet használni a felhasználói beállítások tárolásához. A függvény a WordPress rendszerbe épített funkció, és a használata nem korlátozódik egy adott helyre vagy kontextusra.

A WordPress pluginokat arra használják, hogy funkcionalitást adjanak hozzá a WordPress rendszerhez, és a wp_register_persisted_preferences_meta() függvény lehetővé teszi, hogy a pluginok tárolják és lekérdezzék a felhasználói beállításokat a rendszeren belül.

Az előző példakód egy pluginban is használható, ha a kód tartalmazza azokat a hook-okat, amelyekhez a függvényt csatolni kell. A wp_register_persisted_preferences_meta() függvényt általában az 'init' hook-hoz csatolják, de a plugin fejlesztőjének az adott esethez igazodva kell eldöntenie, hogy melyik hook-ot használja.

<?php
/*
Plugin Name: My Custom Plugin
*/

function my_plugin_register_persisted_preferences() {
    wp_register_persisted_preferences_meta();
}
add_action( 'init', 'my_plugin_register_persisted_preferences' );

function my_plugin_set_user_preferences() {
    // Felhasználói beállítások elmentése a 'my_plugin_preferences' meta kulcsba.
}

function my_plugin_get_user_preferences() {
    // Felhasználói beállítások lekérdezése a 'my_plugin_preferences' meta kulcsból.
}
?>

Ebben az egyszerű példában a wp_register_persisted_preferences_meta() függvény a 'my_plugin_register_persisted_preferences' függvénnyel lett csatolva az 'init' hook-hoz. A my_plugin_set_user_preferences() és my_plugin_get_user_preferences() függvényekben létre lehet hozni és le lehet kérdezni a felhasználói beállításokat a 'my_plugin_preferences' meta kulcsból.

 

Ezt az információt lehagytam: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Rendben van, köszönöm az információ javítását. A wp_register_persisted_preferences_meta() függvény valóban privát hozzáféréssel rendelkezik a WordPress rendszerben, amelyet a függvény fejlécében található PHP kommentek jelölnek. A privát hozzáférés azt jelenti, hogy a függvényt nem tervezték arra, hogy a plugin vagy a téma fejlesztői közvetlenül hozzáférjenek hozzá, hanem csak más WordPress rendszerbeli magfunkciókban használják fel. A privát függvények használata a plugin vagy téma szempontjából nem biztonságos, mert a függvény működése változhat a jövőbeni WordPress verziókban. Ezért a WordPress ajánlása, hogy a plugin és a téma fejlesztői ne használják a privát függvényeket a kódjukban.

Ezért a wp_register_persisted_preferences_meta() függvény használata a pluginokban vagy témákban nem ajánlott. A helyes gyakorlat, hogy a plugin vagy a téma fejlesztője saját meta kulcsot hozzon létre a register_meta() függvénnyel, ahelyett hogy a wp_register_persisted_preferences_meta() függvényt használná.