How do I modify the code attached so that it will grab the user from the current Wordpress profile page and it will show the content for both logged in and logged out users and it will get all comments without limit?
I have tried changing is_user_logged_in() into !is_user_logged_in(), and changing $current_user->ID into user->ID, but it didn't work.
<?php
add_shortcode ( 'show_recent_comments', 'show_recent_comments_handler' );
function show_recent_comments_handler( $atts, $content = null )
{
extract( shortcode_atts( array(
"count" => 10,
"pretty_permalink" => 0
), $atts ));
$output = ''; // this holds the output
if ( is_user_logged_in() )
{
global $current_user;
get_currentuserinfo();
$args = array(
'user_id' => $current_user->ID,
'number' => $count, // how many comments to retrieve
'status' => 'approve'
);
$comments = get_comments( $args );
if ( $comments )
{
$output.= "<ul>
";
foreach ( $comments as $c )
{
$output.= '<li>';
if ( $pretty_permalink ) // uses a lot more queries (not recommended)
$output.= '<a href="'.get_comment_link( $c->comment_ID ).'">';
else
$output.= '<a href="'.get_settings('siteurl').'/?p='.$c->comment_post_ID.'#comment-'.$c->comment_ID.'">';
$output.= $c->comment_content;
$output.= '</a>';
$output.= "</li>
";
}
$output.= '</ul>';
}
}
else
{
$output.= "<h2>You should be logged in to see your comments. Make sense?</h2>";
$output.= '<h2><a href="'.get_settings('siteurl').'/wp-login.php?redirect_to='.get_permalink().'">Login Now →</a></h2>';
}
return $output;
}
?>
With my modifications mentioned, I just get a get a loop of text: action complete action started etc.
Source of the code: Show recent comments of a particular user in WordPress