password-safes

Kā paslēpt ar paroli aizsargātas ziņas no WordPress cilpas

Pēc noklusējuma WordPress slēpj ar paroli aizsargātu ziņu saturu, taču joprojām tiek rādīts ziņas nosaukums ar aizsargāto prefiksu. Šajā rakstā mēs jums pateiksim, kā paslēpt ar paroli aizsargātas ziņas no WordPress cilpas.

Kāpēc slēpt ar paroli aizsargātas ziņas?

Ar paroli aizsargātas ziņas nosaukums joprojām tiek rādīts vietnes galvenajā lapā, jaunāko ziņu sarakstā, arhīvos utt. Ja vēlaties satura maksimālu privātumu, tas nav īpaši forši. Tas arī dod iespēju lietotājiem, kuriem nav paroļu, mēģināt tās ievadīt.

Ar paroli aizsargātu ziņu slēpšana WordPress

Vienkārši pievienojiet šo kodu savam functions.php failam

function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Šis kods vienkārši maina uz WordPress nosūtīto vaicājumu, izmantojot filtru posts_where. Viņš lūdz WordPress apkopot visas ziņas, kurām nav paroles. Dodieties uz savu vietni, un jūs redzēsiet, ka jūsu ar paroli aizsargātās ziņas vairs nav redzamas sākumlapā, arhīvos vai logrīkos.

WordPress

Jūs joprojām varat piekļūt ziņai, izmantojot tiešu saiti uz to. Iepriekš minētajā piemērā tiek paslēptas ar paroli aizsargātas ziņas no visiem lietotājiem. Ko darīt, ja jums ir vairāku autoru vietne un vēlaties, lai ar paroli aizsargātās ziņas būtu redzamas lietotājiem ar privātu ziņu rediģēšanas tiesībām? Vienkārši mainiet iepriekš minēto kodu ar citu tagu:

function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Šajā piemērā mēs pārbaudām, vai lietotājs var rediģēt ar paroli aizsargātas ziņas. Ja nē, tas viņam parāda tikai ziņas, kurām nav paroļu.


Mūsu specialitāte ir WordPress vietņu izstrāde un atbalsts. Kontakti bezmaksas konsultācijai — [email protected], +371 29394520


0 atbildes

Atbildēt

Vai vēlaties pievienoties diskusijai?
Jūtieties brīvi sniegt savu ieguldījumu!

Atbildēt