Support » Allgemeine Fragen » ACF / Post einblenden/ausblenden

  • Hallo liebes Forum
    Ich habe folgendes Problem:
    Ich habe ein Custom Post Type „Referenzen“ angelegt. Darin möchte ich nun die Projekte einpflegen und über ACF sind dieser Beitragsart Felder zugewiesen. Soweit funktioniert alles super. Nun möchte ich eine Funktion einbauen namens „Sichtbar“. Heisst, ich erstelle ein neues Feld mit dem Typ „Wahr/Falsch“. Die Idee besteht darin, wenn ich auf „falsch“ (=unsichtbar) klicke, soll es mir diese Referenz im Frontend nicht mehr anzeigen. Ich könnte natürlich den Post einfach löschen, ja, aber ich möchte ihn „behalten“. Ich könnte natürlich einfach die Sichtbarkeit auf „privat“ stellen, ja auch richtig. Aber ich würde es gerne mit einer Funktion versehen.
    Hat mir jemand einen Tip?
    Herzlichen Dank!

    • Dieses Thema wurde geändert vor 1 Woche, 6 Tage von ccasulli.
Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Zu umständlich gedacht!
    Das, was du willst, kann WordPress ohne ACF!
    Du kannst im „Sichtbarkeits“-Widget den Post ja auf Privat oder PW-geschützt stellen! Das wär dann originales WP-Handling!

    Hallo,
    du kannst das auch so regeln, dass du eine Kategorie z. B. „Keine Anzeige“ erstellst. Beiträge dieser Kategorie kannst du dann mittels einer kleinen Funktion ausschließen:

    function exclude_single_posts_home($query) {
      if ( $query->is_home() && $query->is_main_query() ) {
    
          /* zeigt einen bestimmten Beitrag nicht: */
          /* $query->set( 'post__not_in', array(6873) ); */ 
    
          /* zeigt eine bestimmte Kategorie (in dem Fall "Keine Anzeige" nicht */
          $query->set('cat', '-1486'); 
      }
    }
    add_action( 'pre_get_posts', 'exclude_single_posts_home' );

    Die ID der Kategorie kannst du über Beiträge > Kategorien sehen.
    Diese Funktion kannst du entweder über Code Snippets oder in der functions.php eines Child Themes einbinden.
    Weitere ausführlichere Infos dazu findest du in dem folgenden Beitrag von mir.

    Nachtrag: Als Alternative kannst du auch ein Plugin wie z. B. Ultimate Category Excluder nutzen.

    Viele Grüße
    Hans-Gerd

    Thread-Ersteller ccasulli

    (@ccasulli)

    Guten Morgen
    Ganz herzlichen Dank Hans-Gerd für Deinen Vorschlag. Diesen finde ich prima und so habe ich mir das vorgestellt. Das Plugin UCE kenne ich. Ich meine aber man kann nur die Kategorien der Beiträge ausblenden. Wenn ich mich nicht irre auch Deine PHP-Funktion oder nicht? Ich habe aber ein Custom Post Type erstellt (Referenzen). Und mit ACF diverse Felder zugewiesen. Kann ich die Kategorie eines Custom Post auch ansteuern?
    Danke und liebe Grüsse
    🙂

    Guten Morgen,

    Das Plugin UCE kenne ich. Ich meine aber man kann nur die Kategorien der Beiträge ausblenden.

    nein, mit dem Plugin (wie auch mit dem Snippet) kann man Beiträge einer Kategeorie ausblenden.

    Kann ich die Kategorie eines Custom Post auch ansteuern?

    das habe ich leider noch nicht getestet, sollte aber grundsätzlich mit einem ähnlichen Snippet möglich sein.
    Viele Grüße
    Hans-Gerd

    Moderator Bego Mario Garde

    (@pixolin)

    Werden die Beuträge dann auch nicht per REST API ausgegeben?

    Ich verstehe noch nicht so ganz den Sinn von „behalten, aber nicht ausgeben“. Grundsätzlich kann ein Custom Post Type auch so angelegt werden, dass er nur im Backend sichtbar ist und Beiträge auch z.B. durch eine Suche nicht gefunden werden.

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)