Je dois modifier la fonction get_comment_reply_link()
dans wp-includes/comments-template.php
. Tout ce que je veux vraiment faire est de supprimer le texte "se connecter pour répondre" à chaque commentaire pour les utilisateurs déconnectés, ce qui me dérange. Comment puis-je faire cela dans le bon sens? Voici la fonction.
function get_comment_reply_link($args = array(), $comment = null, $post = null) {
global $user_ID;
$defaults = array('add_below' => 'comment', 'respond_id' => 'respond', 'reply_text' => __('Reply'),
'login_text' => __('Log in to Reply'), 'depth' => 0, 'before' => '', 'after' => '');
$args = wp_parse_args($args, $defaults);
if ( 0 == $args['depth'] || $args['max_depth'] <= $args['depth'] )
return;
extract($args, EXTR_SKIP);
$comment = get_comment($comment);
if ( empty($post) )
$post = $comment->comment_post_ID;
$post = get_post($post);
if ( !comments_open($post->ID) )
return false;
$link = '';
if ( get_option('comment_registration') && !$user_ID )
$link = '<a rel="nofollow" class="comment-reply-login" href="' . esc_url( wp_login_url( get_permalink() ) ) . '">' . $login_text . '</a>';
else
$link = "<a class='comment-reply-link' href='" . esc_url( add_query_arg( 'replytocom', $comment->comment_ID ) ) . "#" . $respond_id . "' onclick='return addComment.moveForm(\"$add_below-$comment->comment_ID\", \"$comment->comment_ID\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>";
return apply_filters('comment_reply_link', $before . $link . $after, $args, $comment, $post);
}
Vous pouvez filtrer la sortie du lien de réponse aux commentaires sur… attendez! … 'comment_reply_link'
. Effectuez simplement les mêmes vérifications que la fonction principale, mais renvoyez un autre élément, dans votre cas: rien.
<?php # -*- coding: utf-8 -*-
/**
* Plugin Name: T5 No Comment Log In Link
* Plugin URI: http://wordpress.stackexchange.com/q/52350/73
* Description: Removes the log-in link for comment reply links.
* Version: 2012.05.16
* Author: Thomas Scholz <[email protected]>
* Author URI: http://toscho.de
* License: MIT
* License URI: http://www.opensource.org/licenses/mit-license.php
*/
if ( ! function_exists( 't5_do_not_ask_for_comment_log_in' ) )
{
add_filter( 'comment_reply_link', 't5_do_not_ask_for_comment_log_in' );
/**
* Replaces the log-in link with an empty string.
*
* @param string $link
* @return string
*/
function t5_do_not_ask_for_comment_log_in( $link )
{
if ( empty ( $GLOBALS['user_ID'] ) && get_option( 'comment_registration' ) )
{
return '';
}
return $link;
}
}