Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Skryte nejaký obsah, kým používateľ komentuje používateľ v programe WordPress?

Neexistuje jediný doplnok WordPress alebo vstavaná funkcia, ktorá by priamo skryla obsah, kým používateľ komentuje. Budete potrebovať vlastné riešenie zahŕňajúce kombináciu PHP a potenciálne JavaScript. Najlepší prístup závisí od toho, ako sofistikovaný chcete, aby bola funkcia.

Tu je niekoľko metód, od najjednoduchších po najzložitejšie:

Metóda 1:Jednoduchý prístup (pomocou PHP a cookie) Toto je najjednoduchšie, ale menej presné. Skryje obsah, až kým nebude odoslaný akýkoľvek * komentár, nie nevyhnutne komentár od konkrétneho používateľa, ktorý sleduje stránku.

1. PHP kód (vo vašej téme `Funktions.php` súbor alebo vlastný doplnok):

`` `php

add_action ('init', 'set_comment_cookie');

funkcie set_comment_cookie () {

if (isset ($ _post ['Comment'])) {// Skontrolujte, či je komentár odoslaný

setCookie ('komentované', 'true', time () + 31536000, '/'); // Nastavte cookie, ktorý trvá na jeden rok

}

}

funkcia show_content_after_comment () {

if (isset ($ _cookie ['komentované']) &&$ _COOKIE ['komentované'] =='true') {

echo '

Tento obsah je viditeľný po odoslaní komentára.
';

} else {

Echo '

Zanechajte komentár, aby ste videli tento obsah.
';

}

}

add_shortCode ('hidden_content', 'show_content_after_comment');

?>

`` `

2. Použitie: V obsahu svojej stránky použite skrat:`[Hidden_content]`

Metóda 2:Pokročilejší prístup (pomocou PHP, JavaScript a Ajax) Táto metóda vyžaduje viac kódovania, ale ponúka lepšiu používateľskú skúsenosť, pretože nevyžaduje znovu načítanie stránky.

1. PHP kód (vo vašej téme `funkcie.php` alebo doplnok):

`` `php

add_action ('wp_ajax_nopriv_check_comment', 'check_comment_ajax'); // Pre používateľov, ktorí nie sú zakončení

add_action ('wp_ajax_check_comment', 'check_comment_ajax'); // pre prihlásených používateľov

funkcia check_comment_ajax () {

// Skontrolujte, či používateľ komentoval používateľ (vyžaduje databázový dotaz alebo sofistikovanejšiu metódu na sledovanie komentárov používateľov. Pozri nižšie).

$ user_id =get_current_user_id (); // Získajte aktuálne ID používateľa

$ has_commented =check_if_user_commented ($ user_id); // Funkcia skontrolovať, či používateľ komentoval (vysvetlené nižšie).

if ($ has_commented) {

wp_send_json_success (array ('show' => true));

} else {

wp_send_json_success (array ('show' => false));

}

wp_die ();

}

// Funkcia skontrolovať, či používateľ komentoval (vymeňte svoju skutočnú logiku).

funkcia check_if_user_commented ($ user_id) {

Global $ WPDB;

$ count =$ wpdb-> get_var ($ wpdb-> pripravte ("select count (*) z $ wpdb-> komentáre, kde user_id =%d", $ user_id));

návrat $ count> 0;

}

?>

`` `

2. JavaScript kód (vo vašej téme `header.php` alebo samostatný` .js` súbor udelený vo vašej téme):

`` `JavaScript

jQuery (dokument) .ready (funkcia ($) {

var hidDencontent =$ ('#skrytý obsah'); // Vymeňte #skrytý obsah za ID vášho skrytého obsahu Div

$ .AJAX ({

URL:Ajaxurl,

Typ:„Post ',

údaje:{

Akcia:„check_comment“,

},

úspech:funkcia (response) {

if (response.show) {

hiddencontent.show ();

}

}

});

});

`` `

3. HTML kód (vo vašej stránke obsah):

`` `html

`` `

Dôležité úvahy o metóde 2:

* Databázový dotaz: Funkcia `check_if_user_commented` používa jednoduchý databázový dotaz na kontrolu, či používateľ má nejaké komentáre. Pravdepodobne to budete musieť vylepšiť, aby sa účtovali na schválenie pripomienok a ďalšie faktory.

* Ajax URL: Uistite sa, že `Ajaxurl` je vo vašej téme správne definovaný (zvyčajne sa s WordPress automaticky zaobchádza).

* Zabezpečenie: Vždy dezinfikujte a overte vstup používateľa, aby ste predišli zraniteľnostiam zabezpečenia.

* Používateľská skúsenosť: Zvážte poskytnutie jasnej spätnej väzby používateľovi pri čakaní na dokončenie žiadosti AJAX.

Metóda 3:Vývoj doplnkov Pre robustné a udržiavateľné riešenie zvážte vytvorenie vlastného doplnku WordPress. To by umožnilo pokročilejšie funkcie, lepšiu organizáciu kódu a ľahšie aktualizácie.

Nezabudnite nahradiť ID zástupného symbolu a upraviť kód tak, aby zodpovedal vašej konkrétnej téme a potrebách. Druhá metóda poskytuje oveľa plynulejšiu skúsenosť používateľa, ale vyžaduje výrazne viac odborných znalostí kódovania. Vyberte metódu, ktorá najlepšie vyhovuje vašim zručnostiam a požiadavkám. Ak nie ste spokojní s PHP a JavaScript, zvážte najatie vývojára.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené