Support » Allgemeine Fragen » Kurzfassung für passwortgeschütze Beitrage anzeigen lassen

  • Gelöst thomasba

    (@thomasba)


    Hallo,

    ich habe auf meiner Site Beiträge mit dem einfachen Passwortschutz von WP versehen. Nun wird auf der Seite, wo diese Artikel in der Übersicht angezeigt werden, keine Kurzfassung der einzelnen Artikel ausgegeben. Stattdessen steht dort standardmäßig der Hinweis, dass eine Kurzfassung aufgrund des Passwortschutzes nicht angezeigt wird.

    Ist es möglich, trotz Passwortschutz eine Kurzfassung anzeigen zu lassen?

    Freue mich über jeden Tipp!

    Gruß
    thomas

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)
  • Moderator Torsten Landsiedel

    (@zodiac1978)

    Schau mal hier, ob dir das schon weiterhilft:
    https://codex.wordpress.org/Using_Password_Protection

    Gruß, Torsten

    Thread-Starter thomasba

    (@thomasba)

    Hallo Torsten,

    vielen Dank für die schnelle Antwort und den Link! Das hilft mir auf jeden Fall weiter! Nur eine Frage habe ich diesbezüglich noch: Kann ich den Code einfach in die functions.php meines Themes einfügen oder in welchen Ordner gehört dieser?

    Gruß
    thomas

    Thread-Starter thomasba

    (@thomasba)

    Auf den zweiten Blick hat sich leider noch eine weitere Frage aufgetan. Mittels des folgenden Codes wird ja ein Standard-Excerpt ausgegeben:

    <?php
    function my_excerpt_protected( $excerpt ) {
        if ( post_password_required() )
            $excerpt = '<em>[This is password-protected.]</em>';
        return $excerpt;
    }
    add_filter( 'the_excerpt', 'my_excerpt_protected' );
    ?>

    Daran ändert sich bis auf den Text ja erst mal nichts, wenn ich meinen eigenen Text einfüge.

    Besteht die Möglichkeit, keinen festgelegten Standard-Text einzuzetzen, sondern eine Anweisung, die automatisch den im Beitrag festgelegten Teaser (also bis zur „Weiterlesen“ Linie) oder aber zumindest den ersten Absatz des Beitrages als Kurzfassung übernimmt? Letztendlich stelle ich mir das so vor, wie das auch in vielen Themes bei nicht passwortgeschützten Beitragsübersichten umgesetzt wird.

    Weiß jemand Rat?

    Gruß
    thomas

    Moderationshinweis: Bitte verwende im Beitragseditor des Forums den Code-Button zur Formatierung von Code-Schnipseln. Das erleichtert uns das Lesen. Danke, Bego

    • Diese Antwort wurde geändert vor 6 Jahren von Bego Mario Garde. Grund: Codeformatierung korrigiert
    Moderator Torsten Landsiedel

    (@zodiac1978)

    Kann ich den Code einfach in die functions.php meines Themes einfügen

    Wenn du ein Child-Theme nutzt, was du selbst erstellt hast, dann ja. Sonst wird die functions.php beim nächsten Theme-Update überschrieben und deine Änderungen sind futsch.

    Alternativ kannst du den Code auch in ein Snippet packen:
    https://wordpress.org/plugins/code-snippets/

    Besteht die Möglichkeit, keinen festgelegten Standard-Text einzuzetzen, sondern eine Anweisung, die automatisch den im Beitrag festgelegten Teaser (also bis zur „Weiterlesen“ Linie) oder aber zumindest den ersten Absatz des Beitrages als Kurzfassung übernimmt?

    Ja, klar. Der Filter kann doch einfach wieder mit dem Excerpt gefüllt werden. Schau dir mal die Funktion im Original, um den Kontext des Filters zu verstehen:
    https://github.com/WordPress/WordPress/blob/5c291d49de756db1dbfddfe3fd69709595800622/wp-includes/post-template.php#L360-L412

    Gruß, Torsten

    Thread-Starter thomasba

    (@thomasba)

    Hallo Torsten,

    abermals vielen Dank für deine Hilfe (auch an Bego für den Hinweis bezüglich des Einfügens der Code-Schnipsel hier im Forum)!

    Da ich absoluter Neuling in Sachen php bin, möchte ich mein Ergebnis hier gerne noch mal zur Prüfung posten, ehe ich mir versehentlich die functions.php zerschieße.

    <?php
    function my_excerpt_protected( $excerpt ) {
        if ( post_password_required() )
            $excerpt = 'get_the_excerpt()';
        return $excerpt;
    }
    add_filter( 'the_excerpt', 'my_excerpt_protected' );
    ?>

    Ist das so richtig?
    Vielen Dank für die Hilfe!
    Thomas

    Moderator Bego Mario Garde

    (@pixolin)

    Probier’s doch einfach aus?

    Vorab kannst du aber nochmal folgenden PHP-Code ausprobieren:

    
    $dolly = 'hello dolly';
    
    echo '$dolly'; // gibt "$dolly" im Browser aus
    echo $dolly;   // gibt "hello dolly" im Browser aus.
    echo 'get_the_excerpt()'; // gibt "get_the_excerpt()" im Browser aus?!
    

    alles klar?

    Schau mal, ob du mit diesem Beitrag besser zurecht kommst:
    http://www.wpbeginner.com/wp-tutorials/how-to-show-excerpt-of-a-password-protected-post-in-wordpress/

    Thread-Starter thomasba

    (@thomasba)

    Hallo zusammen!

    Bego, danke für die Antwort!

    Leider hat der Code oben nicht funktioniert, also bitte nicht kopieren. Ich habe mich an die Anweisung auf der WPBeginner-Seite (siehe Link oben) gerichtet, das hat funktioniert.

    Danke für die Hilfe!

    • Diese Antwort wurde geändert vor 6 Jahren von thomasba.
    Thread-Starter thomasba

    (@thomasba)

    Leider ist doch wieder ein Problem aufgetaucht. Mit folgendem Code wird zwar der Teaser des <Beitrages gezeigt, allerdings verschwindet der Inhalt (Fotos, Text, einfach alles, mit Ausnahme der Headers und Footers) aller anderen Seiten auf meiner Site komplett.:

    // Excerpt bei passwortgeschützten Beiträgen zeigen
    
    function wpb_protected_excerpt( $excerpt ) {
    if ( post_password_required() ) {
    $post = get_post();
    $excerpt=$post->post_excerpt;
    }
    return $excerpt;
    }
    add_filter( 'the_excerpt', 'wpb_protected_excerpt' );
     
    function wpb_protected_excerpt_posts( $content ) {
    if ( post_password_required() && is_single() ) {
    $post = get_post();
     
    return $post->post_excerpt.$content;
    }}
    add_filter( 'the_content', 'wpb_protected_excerpt_posts', 10 );

    Hat jemand eine Idee, woran das liegt bzw. wie ich diesen Fehler beheben kann?

    • Diese Antwort wurde geändert vor 6 Jahren von thomasba.
    Moderator Bego Mario Garde

    (@pixolin)

    Auf Anhieb kann ich da keinen Fehler entdecken. Ist der Debug-Modus aktiviert? ( define( 'WP_DEBUG', true ); in der wp-config.php)

    Thread-Starter thomasba

    (@thomasba)

    Ja, bekomme keine Fehlermeldungen angezeigt…

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)
  • Das Thema „Kurzfassung für passwortgeschütze Beitrage anzeigen lassen“ ist für neue Antworten geschlossen.