Paano Itago ang Mga Password Protected Post Mula sa WordPress Loop

Pinapayagan ka ng WordPress na lumikha ng protektadong mga post ng password. Kamakailan isa sa aming mga mambabasa ay nagtanong kung posible na itago ang mga pinoprotektahang post ng password mula sa site. Bilang default, itinatago ng WordPress ang nilalaman ng post na protektado ng password, ngunit nagpapakita pa rin ito ng pamagat ng post na may prefix na ‘Protected’. Sa artikulong ito, ipapakita namin sa iyo kung paano itago ang mga protektadong post ng password mula sa loop ng WordPress.

Bakit Itago ang Mga Protektadong Post sa Password sa WordPress?

Bilang default, ipinapakita ng WordPress ang post na protektado ng password gamit ang pamagat nito at isang prefix na ‘protektado’. Ang mga gumagamit ay kailangang ipasok ang password upang tingnan ang nilalaman ng post.

Mga protektadong post na ipinapakita sa homepage at sa mga widget

Ang pamagat ng post na ito ay makikita sa homepage, mga archive, kamakailang post widget, atbp. Kung nais mong panatilihin ang ilang nilalaman na ganap na pribado, pagkatapos ito ay hindi perpekto.

Hindi lamang mga gumagamit na walang password ang makakakita ng pamagat ng post, maaari rin nilang subukan na magpasok ng mga password. Tulad ng alam nating lahat, ang mga password ay maaaring basag.

Ang pagkakaroon ng sinabi na, tingnan natin kung paano itago ang iyong mga pinoprotektahang password ng mga post mula sa WordPress loop upang hindi makita ng ibang mga user ang mga ito.

Pagtatago ng Mga Protektadong Post sa Password sa WordPress

Idagdag lamang ang code na ito sa mga function.php ng ​​iyong tema o isang site-specific na plugin.

function wpb_password_post_filter ($ where = '') {
     kung (! is_single () &&! is_admin ()) {
         $ saan. = "AT post_password = ''";
     }
     bumalik $ kung saan;
 }
 add_filter ('posts_where', 'wpb_password_post_filter'); 

Binabago lamang ng code na ito ang query na ipinadala sa WordPress sa pamamagitan ng paggamit ng posts_where filter. Humihingi ito ng WordPress upang makuha ang lahat ng mga post na walang password.

Bisitahin ang iyong website at makikita mo na ang mga protektadong post ng password ay hindi na makikita sa homepage, mga archive, o sa mga widget tulad ng mga kamakailang post.

Bago at pagkatapos ay itago ang protektadong mga post sa WordPress

Maaari mo pa ring bisitahin ang post sa pamamagitan ng pag-access nito sa pamamagitan ng isang direktang URL sa post mismo.

Ang halimbawa sa itaas, ay nagtatago ng mga protektadong post ng password mula sa lahat ng mga gumagamit. Paano kung tumakbo ka sa isang multi-akda WordPress site at nais protektado-post na maaaring makita ng mga gumagamit na may kakayahan upang i-edit ang mga pribadong post?

Baguhin lamang ang code sa itaas sa isa pang kondisyon tag, tulad nito:

function wpb_password_post_filter ($ where = '') {
    kung (! is_single () &&! current_user_can ('edit_private_posts') &&! is_admin ()) {
         $ saan. = "AT post_password = ''";
     }
     bumalik $ kung saan;
 }
 add_filter ('posts_where', 'wpb_password_post_filter'); 

Sa halimbawang ito, sinusuri namin kung ang isang user ay hindi maaaring mag-edit ng mga pinoprotektahang password ng mga post, pagkatapos ay ipakita lamang ang mga post na walang password. Ang paggawa ng lahat ng mga user na may mga tungkulin ng tagapangasiwa at editor ng gumagamit ay makikita ang mga naka-protektadong post sa password sa front end ng iyong site.

Umaasa kami na ang artikulong ito ay nakatulong sa iyo na itago ang mga protektadong post ng password mula sa WordPress loop sa iyong site