X

Benutzerdefinierten Beitragstyp in WordPress als privat erzwingen

Schnipsel von IsItWP

Suchen Sie nach einer Möglichkeit, Ihren benutzerdefinierten Beitragstyp standardmäßig als privat zu erzwingen? Es gibt wahrscheinlich ein Plugin dafür, aber wir haben einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um benutzerdefinierte Beitragstypen in WordPress als privat zu erzwingen.

Anweisungen:

Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:

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');

Vergessen Sie nicht, my_post_type in den Namen Ihres benutzerdefinierten Beitragstyps zu ändern. Dies ist eine geringfügige Änderung am Quellcode und enthält kein Passwort, da dies privat und nicht passwortgeschützt ist.

Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.

Wenn Ihnen dieser Code-Schnipsel gefallen hat, sollten Sie sich unsere anderen Artikel auf der Website ansehen, wie z. B.: 28 beste WordPress-Lebenslauf-Themes und So erstellen Sie ein Bewerbungsformular in WordPress.

Kommentare   Hinterlasse eine Antwort

  1. Hallo,

    Irgendeine Idee, wie man den gleichen Code für 2 verschiedene CPTs statt für einen macht?

    Vielen Dank im Voraus

  2. Fabrizio Fabricatore 25. Juli 2013 um 8:33 Uhr

    Ich weiß, dass dieser Thread etwas alt ist, aber... wie kann man ein benutzerdefiniertes Feld in diesem benutzerdefinierten Beitragstyp ansprechen, um seinen Wert zu ändern?

  3. Martin Storbeck 5. April 2012 um 7:11 Uhr

    Ich habe es bearbeitet, sodass Links beim Erstellen auf den Beitragstitel statt auf „my_post_type/auto-draft“ gesetzt werden. Auf diese Weise können Sie auch passwortgeschützte Beiträge veröffentlichen.

    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. Das funktioniert, aber ich habe festgestellt, dass es unmöglich wird, den Beitrag in den Papierkorb zu verschieben... Haben Sie das auch erlebt?

    1. Nein, dieses Problem hatte ich nicht, aber ich werde es ausprobieren und sehen, ob ich das Problem reproduzieren kann.

    2. Ja, ich habe genau das gleiche Problem... Hat jemand Ideen?

  5. Warum machen Sie nicht einfach: if ( post type = my post type) { post status = private; return post; }

    Es scheint, als hätten Sie eine zusätzliche unnötige Zeile.

    1. Das stimmt, Adam, behoben.

  6. Ist dieser Code korrekt?
    Ich glaube, Sie haben ein „ELSE“ vergessen

    1. Hallo Jose,
      Nein, es ist korrekt, erstellen Sie einfach einen neuen benutzerdefinierten Beitragstyp und fügen Sie dies dann zu functions.php hinzu, und Sie werden feststellen, dass bei der Auswahl von „Neuen Beitrag hinzufügen“ für diesen benutzerdefinierten Beitragstyp standardmäßig „Privat“ ausgewählt ist.

      1. Hallo Kevin,

        Immer noch keine Möglichkeit, meine Beiträge mit diesem Code zu löschen. Irgendwelche Ideen?

        Mit freundlichen Grüßen,

        1. Ich habe Code wie diesen verwendet, der prüft, ob sie sich im Papierkorb befinden, bevor er sie privat macht:
          //Erzwinge Beiträge vom benutzerdefinierten Typ „internt-arkiv“, privat zu sein
          //…aber stelle zuerst sicher, dass sie nicht „Papierkorb“ sind, sonst ist es unmöglich, einen Beitrag in den Papierkorb zu legen
          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, die erwähnen Wordpress Erzwinge benutzerdefinierten Beitragstyp privat zu sein – wpsnipp.com Wordpress Code-Schnipsel für Ihren Blog -- Topsy.com 15. Februar 2011 um 12:37 Uhr

    […] Dieser Beitrag wurde auf Twitter von HTMLfrp, wp_freak erwähnt. wp_freak sagte: #wordpress Erzwinge benutzerdefinierten Beitragstyp privat zu sein http://bit.ly/fHzJuW […]

Kommentar hinzufügen

Wir freuen uns, dass Sie einen Kommentar hinterlassen haben. Bitte beachten Sie, dass alle Kommentare gemäß unserer Datenschutzrichtlinie moderiert werden und alle Links nofollow sind. Verwenden Sie KEINE Schlüsselwörter im Namensfeld. Lassen Sie uns ein persönliches und bedeutungsvolles Gespräch führen.

WordPress Launch Checkliste

Die ultimative Checkliste für den Start von WordPress

Wir haben alle wichtigen Checklistenpunkte für den Start Ihrer nächsten WordPress-Website in einem praktischen E-Book zusammengefasst.
Ja, senden Sie mir das kostenlose E-Book!