Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I need to edit the function get_comment_reply_link() in wp-includes/comments-template.php. All I really wanna do is take out the "log in to reply" text is puts in every comment for logged out users which is disturbing to me. How can I do this the right way? Here's the function.

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);
}
share|improve this question

1 Answer 1

up vote 3 down vote accepted

You can filter the output for the comment reply link on … wait for it! … 'comment_reply_link'. Just do the same checks as the core function but return something else, in your case: nothing.

<?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 <info@toscho.de>
 * 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;
    }
}
share|improve this answer
    
Yea, Barney! +1 :) –  kaiser May 16 '12 at 18:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.