X

Cum să forțați tipul de postare personalizat să fie privat în WordPress

Fragmente de IsItWP

Căutați o modalitate de a forța tipul de postare personalizat să fie privat în mod implicit? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți utiliza pentru a forța tipul de postare personalizat să fie privat în WordPress.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

function force_type_private($post)
{
    if ($post['post_type'] == 'my_post_type')
    $post['post_status'] = 'private';
    return $post;
}
add_filter('wp_insert_post_data', 'force_type_private');

Nu uitați să schimbați my_post_type cu numele tipului dvs. de postare personalizat. Aceasta este o mică modificare față de codul sursă și nu include o parolă, deoarece este privat și nu protejat prin parolă.

Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și alte articole de pe site, cum ar fi: cele mai bune 28 de teme WordPress pentru CV și cum să creezi un formular de candidatură în WordPress.

Comentarii   Lasă un răspuns

  1. Bună,

    Aveți vreo idee cum să fac același cod, dar pentru 2 CPT diferite în loc de una singură?

    Mulțumesc anticipat

  2. Fabrizio Fabricatore July 25, 2013 at 8:33 am

    știu că acest fir de discuție este puțin vechi, dar... cum poți viza un câmp personalizat în acel tip de postare personalizată pentru a-i schimba valoarea?

  3. Martin Storbeck April 5, 2012 at 7:11 am

    L-am editat, așa că linkurile sunt setate la numele postării în loc de "my_post_type/auto-draft" atunci când sunt create. Astfel, puteți posta și postări protejate prin parolă.

    function force_type_private($post) { if ($post[‘post_type’] == ‘my_post_type’) { if ($post[‘post_status’] == ‘publish’) $post[‘post_status’] = ‘private’; } return $post; } add_filter(‘wp_insert_post_data’, ‘force_type_private’);

  4. Acest lucru funcționează, dar am constatat că face ca postarea să fie imposibil de mutat la coșul de gunoi... ați experimentat și dvs. acest lucru?

    1. Nu, nu am avut această problemă, dar o voi încerca și voi vedea dacă pot reproduce problema.

    2. Da, am exact aceeași problemă... Cineva are vreo idee?

  5. De ce nu faci pur și simplu: if ( tip postare = tipul meu de postare) { stare postare = privat; return post; }

    Se pare că ai o linie suplimentară inutilă.

    1. Adevărat, Adam, am corectat.

  6. este acest cod corect?
    Cred că ai uitat un „ELSE”

    1. Salut Jose,
      Nu, este corect, creează doar un nou tip de postare personalizat, apoi adaugă acest lucru la functions.php și vei observa că atunci când selectezi adăugare nouă pentru acel tip de postare personalizat, va fi implicit selectat privat.

      1. Salut Kevin,

        Tot nu există nicio modalitate de a-mi șterge postările cu acest cod. Aveți vreo idee?

        Cu stimă,

        1. Am folosit un cod de genul acesta, care verifică dacă sunt în coșul de gunoi înainte de a le face private:
          // Forțează postările de tip personalizat „internt-arkiv” să fie private
          //…dar mai întâi asigură-te că nu sunt „trash” altfel este imposibil să arunci o postare
          function force_type_private($post)
          {
              if ($post[‘post_type’] == ‘my_post_type’) {
                  if ($post[‘post_status’] != ‘trash’) $post[‘post_status’] = ‘private’;
              }
              return $post;
          }
          add_filter(‘wp_insert_post_data’, ‘force_type_private’);

  7. Tweets that mention Wordpress Force custom post type to be private – wpsnipp.com Wordpress code snippets for your blog -- Topsy.com February 15, 2011 at 12:37 am

    […] Acest post a fost menționat pe Twitter de HTMLfrp, wp_freak. wp_freak a spus: #wordpress Forțează tipul de postare personalizat să fie privat http://bit.ly/fHzJuW […]

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!