Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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
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 '
} else {
Echo '
}
}
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
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.