Láthatóság: egyéni feltétel
Az Egyéni feltétel eseményindító: összetett láthatósági szabályok egyéni PHP-kóddal, gyakorlati példákkal.
Az Egyéni feltétel szakasz összetett helyzetekre való: egyéni PHP-kóddal döntheted el, látszik-e az elem. A kódnak logikai értéket (true vagy false) kell visszaadnia. Hogy a feltétel teljesülése megjelenítést vagy elrejtést jelent, azt a Megjelenítési mód dönti el.

A képen az Egyéni PHP feltétel kódszerkesztője látszik. A leírás szerint írj egy függvényt, amely logikai értéket ad vissza, és minden WP-változót és WP-függvényt használhatsz.
Az alábbi példák csak szemléltetésre valók: éles oldalon való használat előtt egy fejlesztőnek kell hozzáigazítania és kipróbálnia őket.
Példák
Szekció neve “Példák”Az aktuális bejegyzés azonosítója szerepel-e egy listában:
$allowed_posts = [1, 21, 37, 46, 55];return in_array(get_the_ID(), $allowed_posts);Több metaadat értékének vizsgálata:
$metakey1 = get_post_meta($post->ID, 'metakey1', true);$metakey2 = get_post_meta($post->ID, 'metakey2', true);return ($metakey1 == 'value1' && $metakey2 == 'value2');A hozzászólások száma:
return get_comments_number(get_the_ID()) > 10;A bejegyzés a múlt héten jelent meg:
return (time() - get_post_time('U', true, get_the_ID()) < WEEK_IN_SECONDS);A bejegyzés egy adott típusú:
return get_post_type(get_the_ID()) === 'my_post_type';A felhasználó szerepköre egy integrált fórumban (például bbPress):
return bbp_get_user_role(get_current_user_id()) === 'bbp_keymaster';A felhasználó megvásárolt egy adott terméket:
$purchased_product_ids = wc_get_customer_bought_products(get_current_user_id());return in_array('specific_product_id', $purchased_product_ids);A felhasználó összes költése egy összeg fölött van:
$customer_orders = wc_get_orders(['customer_id' => get_current_user_id()]);$total_spent = array_sum(array_map(function ($order) { return $order->get_total(); }, $customer_orders));return $total_spent > 500; // 500 helyére a kívánt összeg kerülA kosár összege meghalad egy értéket:
return WC()->cart->total > 100; // 100 helyére a kívánt összeg kerülEgy adott termék a kosárban van:
$product_id = 25; // 25 helyére a vizsgálandó termék azonosítója kerülreturn WC()->cart->find_product_in_cart(WC()->cart->generate_cart_id($product_id)) !== false;A kosárban egy megadott számnál több tétel van:
return WC()->cart->get_cart_contents_count() > 5; // 5 helyére a kívánt darabszám kerülA felhasználó utolsó rendelése egy összeg fölött volt:
$last_order = wc_get_customer_last_order(get_current_user_id());return $last_order && $last_order->get_total() > 200; // 200 helyére a kívánt összeg kerülFüggvény használata
Szekció neve “Függvény használata”Nem kötelező függvényt írnod: közvetlenül is írhatsz olyan kódot, amely true vagy false értéket ad vissza. Ha mégis függvényt használsz, meg is kell hívnod, különben nem lesz eredménye.
Hibás, mert a függvény nincs meghívva, így a feltétel nem ad vissza logikai értéket, és hatástalan marad:
function check_condition() { /* a feltételt vizsgáló kód */ }Helyes, függvény nélkül:
return get_comments_number(get_the_ID()) > 10;Helyes, függvénnyel (a függvény meg van hívva, és logikai értéket ad vissza):
return check_condition();function check_condition() { return get_comments_number(get_the_ID()) > 10;}Készült: