it-swarm.com.de

Klasse zur Schaltfläche "Antworten" im Bereich "Kommentare" hinzufügen

Unter jedem Kommentar befindet sich ein Link namens "Antworten". Ich möchte diesem Link eine Klasse hinzufügen. Die Standardklasse ist comment-reply-link. Wie kann ich das machen? Ich erstelle mein eigenes Design und möchte keine Dateien im Verzeichnis wp-includes manuell bearbeiten.

3
mrtsherman

Verwenden Sie in Ihrer Vorlagendatei comments.php wp_list_comments und setzen Sie den Parameter callback auf Ihre definierte Funktion, mit der die Vorlage generiert wird. Innerhalb der Funktion können Sie den Kommentarantwort-Link gestalten.

wp_list_comments codex
Weitere Lektüre zur Kommentaranzeige

3
Evan Yeung

Ich weiß, dass dies ein ziemlich alter Beitrag ist, und vielleicht könnte dies jemandem helfen.

Sie können die Klasse eines Elements mit add_filter () ersetzen.

Hier ist ein Beispiel:

// filter to replace class on reply link

//           class name             function name
add_filter('comment_reply_link', 'replace_reply_link_class');


function replace_reply_link_class($class){
    $class = str_replace("class='comment-reply-link", "class='reply", $class);
    return $class;
}

Damit sollten Sie in der Lage sein, die Klasse in Ihren Themen zu ersetzen.

Ich hoffe das kann jemandem weiterhelfen :)

15
freeman76

Ganz alter Beitrag, aber während ich hierher kam, wird es vielleicht jemand anderes nützlich finden.

Die einzige Lösung, die ich gefunden habe, ist, die Schaltfläche, die comment_reply_link zurückgibt, komplett neu zu erstellen.

Ich habe zuerst zwei Variablen erstellt, die die Attribute href und onclick für die Antwortschaltfläche rekonstruieren:

$reply_href = wp_make_link_relative(
    get_permalink( $comment->comment_post_ID ) 
    ) 
    . '?replytocom=' . $comment->comment_ID . '#respond';

$reply_onclick = 'return addComment.moveForm("comment-' 
    . $comment->comment_ID 
    . '", "' 
    . $comment->comment_ID 
    . '", "respond", "' 
    . $comment->comment_post_ID 
    . '")';

Und geben Sie dann den gesamten Antwortblock aus, indem Sie Ihre benutzerdefinierten Klassen hinzufügen:

<div class="reply">
    <a class="comment-reply-link custom-class" href="<?php 
        echo $reply_href; 
        ?>" onclick="<?php 
        echo $reply_onclick; 
        ?>"><?php 
        _e('Reply', 'yourthemename'); 
    ?></a>
</div>
3
sclerato

Dies ist vielleicht keine elegante Lösung, aber sie erledigt die Arbeit. Mach es mit jQuery. Grundsätzlich finden Sie das Element und fügen Sie die gewünschte Klasse hinzu. WordPress hat das Anpassen nicht so einfach gemacht:

jQuery('a#comment-reply-link').addClass('mycustomcssclass');
1
racl101

Auch etwas zu überprüfen (da ich dies für etwa eine halbe Stunde übersehen) ...

Stellen Sie sicher, unter: Einstellungen> Diskussion

Dieses Kontrollkästchen ist aktiviert:

Threaded (verschachtelte) Kommentarebenen tief aktivieren

Andernfalls wird die Antwortschaltfläche überhaupt nicht angezeigt

0
Keryn Gill