Expandable Dashboard Recent Comments

Author:Scott Reilly
First released:2009-06-11
Last update:2016-04-14
Compatibility:WP 3.8 – 4.5.5
Download:[ zip ]

Enables in-place expansion of excerpts in the admin dashboard 'Comments' section of the 'Activity' widget to view full comments.

Extended Description

By default, the ‘Comments’ section of the ‘Activity’ admin dashboard widget only shows an excerpt for the comments, truncating the content of the comments to the first 20 words while at the same time stripping out all markup.

This plugin adds a link at the end of the comment actions row (the links for the comment that become visible under the comment when you hover over the comment). The “Show more” link, when clicked, will replace the excerpt with the full comment. The full comment will include all markup, including originally utilized markup and changes applied via filters, plugins, etc (such as shortcode expansion, smilies, paragraphing, etc). The full comment can be switched back to the except by clicking the “Show less” link (which replaces the “Show more” link when the comment is expanded).

“In-place expansion” refers to the ability to click the link to see the full comment and it will be presented in place of the excerpt without requiring a page reload or navigation.

NOTE: This plugin only works for users who have JavaScript enabled.

Links: Plugin Homepage | Plugin Directory Page | Author Homepage

Find out more at the plugin’s WordPress Plugin Repository page.


Click to see full-size image.

  1. expandable-dashboard-recent-comments screenshot 1

    A screenshot of the ‘Recent Comments’ admin dashboard widget with the plugin active, showing comments that have been truncated/excerpted by WordPress (the 2nd and 4th listed) and full, short comments. (Note the ‘Expand All’ and ‘Collapse All’ links added to the bottom of the widget.)

  2. expandable-dashboard-recent-comments screenshot 2

    A screenshot of the ‘Recent Comments’ admin dashboard page with the plugin active, now showing the first excerpted comment fully in-place expanded and with markup and formatting applied.


  1. Unzip expandable-dashboard-recent-comments.zip inside the /wp-content/plugins/ directory for your site (or install via the built-in WordPress plugin installer)
  2. Activate the plugin through the ‘Plugins’ admin menu in WordPress
  3. Visit the admin dashboard and check out the ‘Comments’ section of the ‘Activity’ widget (assuming you have recent comments and that one or more of them have been automatically excerpted)


The plugin exposes one filter for hooking.

c2c_expandable_dashboard_recent_comments_start_expanded (filter)

The ‘c2c_expandable_dashboard_recent_comments_start_expanded’ hook allows you to configure the ‘Recent Comments’ admin dashboard widget initially display all comments in their expanded state (i.e. not excerpted).


  • $default (boolean): The default state, which is ‘false’ (therefore comments are initially shown excerpted)
  • $comment (object) : The comment object being displayed


// Initially show dashboard comments fully expanded
add_filter( 'c2c_expandable_dashboard_recent_comments_start_expanded', '__return_true' );

Frequently Asked Questions

Q. How do I expand an excepted comment?
A. When you hover over the comment, a line of action links will appear (typically “Approve”, “Reply”, “Edit”, “Spam”, and “Trash”). If the comment has been automatically excerpted by WordPress, then a “Show more” link will appear. Click it to view the full comment.

Q. Why don’t I see the “Show more” link when hovering over a comment?
A. The comment has not been been excerpted; you are already seeing the comment in its entirety so there is no need to be able to “show more”.

Q. Why don’t I see the “Expand all” and “Collapse all” links at the bottom of the widget?
A. Assuming you are using a supported version of WordPress, this just means that none of the comments being listed have been excerpted, thus there is no need to be able to “Expand all” or “Collapse all” in this instance.

Release Log

2.4.2 (2016-01-09)

  • Change: Add support for language packs:
    • Change textdomain to ‘expandable-dashboard-recent-comments’ from ‘c2c_edrc’.
    • Don’t load textdomain from file.
    • Remove .pot file and /lang subdirectory.
  • Change: Note compatibility through WP 4.4+.
  • Change: Explicitly declare methods in unit tests as public.
  • Change: Update copyright date (2016).
  • Add: Create empty index.php to prevent files from being listed if web server has enabled directory listings.

2.4.1 (2015-08-18)

  • Update: Note compatibility through WP 4.3+

2.4 (2015-03-06)

  • Use Dashicons icons for all expand/collapse links (removing special character usage from string)
  • Remove get_ellipsis() since it was only needed for WP < 3.6
  • Remove JS support for WP < 3.8
  • Remove is_admin() check preventing loading of class
  • Added meager unit tests
  • Reformat plugin header
  • Space out admin.css content
  • Change documentation links to wp.org to be https
  • Minor documentation spacing changes throughout
  • Change description
  • Note compatibility through WP 4.1+
  • Dropped support for versions of WP older than 3.8
  • Update copyright date (2015)
  • Update screenshots
  • Add plugin icon
  • Regenerate .pot

2.3 (2013-12-24)

  • Fix CSS selectors to properly format full comments under WP 3.8
  • Fix JS selectors to show Expand/Collapse All links under WP 3.8
  • Add Frequently Asked Questions section to readme.txt
  • Note compatibility through WP 3.8+
  • Update copyright date (2014)
  • Add banner
  • Minor readme.txt text and formatting tweaks
  • Change donate link


  • Fix support for WP3.6+ due to core’s change of ‘…’ to ‘…’ for the excerpt ellipsis
  • Add is_text_excerpted(), get_ellipsis()
  • Note compatibility through WP 3.6+


  • Add ‘comment’ arg to is_comment_initially_expanded() for context
  • Add ‘comment’ as additional arg to ‘c2c_expandable_dashboard_recent_comments_start_expanded’ filter
  • Change description (to shorten)
  • Add check to prevent execution of code if file is directly accessed
  • Regenerate .pot
  • Re-license as GPLv2 or later (from X11)
  • Add ‘License’ and ‘License URI’ header tags to readme.txt and plugin file
  • Remove ending PHP close tag
  • Minor improvements to inline and readme docs
  • Minor code reformatting (spacing)
  • Note compatibility through WP 3.5+
  • Update copyright date (2013)
  • Move screenshots into repo’s assets directory


  • Use “Show more”/”Show less” links in comment row actions instead of appending expand/collapse link
  • Add filter ‘c2c_expandable_dashboard_recent_comments_start_expanded’ to permit initial display of comments in expanded state
  • Remove class configuration array
  • Remove filter ‘c2c_expandable_dashboard_recent_comments_config’
  • Enqueue CSS
  • Enqueue JS
  • Add register_styles(), enqueue_admin_css(), enqueue_admin_js()
  • Remove add_css(), add_js()
  • Add support for localization
  • Add .pot
  • No longer hide the ellipsis
  • Hook ‘load-index.php’ action to initialize plugin rather than checking pagenow
  • Add version() to return plugin version
  • Minor code reformatting (spacing)
  • Note compatibility through WP 3.3+
  • Drop support for versions of WP older than 3.1
  • Update screenshots (now based on WP 3.3)
  • Add link to plugin directory page to readme.txt
  • Update copyright date (2012)


  • Note compatibility through WP 3.2+
  • Minor code formatting changes (spacing)
  • Fix plugin homepage and author links in description in readme.txt


  • Don’t display expand/collapse links for users without JavaScript and jQuery enabled
  • Add admin unobtrusive javascript to handle expand/collapse of comments when links are clicked
  • Use substr() instead of preg_match() to detect presence of ‘…’
  • Remove ‘onclick’ attribute for links (perform via unobtrusive JS)
  • Fix plugin links in description in readme.txt


  • Add link to plugin homepage to description in readme.txt


  • Switch from object instantiation to direct class function invocation
  • Explicitly declare all functions public static and class variables public static
  • Note compatibility with WP 3.1+
  • Update copyright date (2011)


  • Add filter ‘c2c_expandable_dashboard_recent_comments_config’ to allow filtering of config options
  • Rename class from ‘ExpandableDashboardRecentComments’ to ‘c2c_ExpandableDashboardRecentComments’
  • Store plugin instance in global variable, $c2c_expandable_dashboard_recent_comments, to allow for external manipulation
  • Move is_admin() check to before class creation
  • Add init() and move hooking of actions/filters to there
  • Remove docs from top of plugin file (all that and more are in readme.txt)
  • Note compatibility with WP 3.0+
  • Minor code reformatting (spacing)
  • Add Filters and Upgrade Notice sections to readme
  • Remove trailing whitespace in header docs


  • Add full PHPDoc documentation
  • Minor formatting tweaks
  • Note compatibility with WP 2.9+
  • Update copyright date
  • Update readme.txt (including adding Changelog)


  • Initial release

Copyright & Disclaimer

Copyright © 2009-2017 by Scott Reilly (aka coffee2code)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Discussion / Support

Have any questions, comments, or suggestions? Please provide them via the plugin’s WordPress.org support forum. I’ll do my best to reply in a timely fashion and help as best I can.

Unfortunately, I cannot provide guaranteed support, nor do I provide support via any other means.

Was this plugin useful useful to you? Consider giving it a rating. If you’re inclined to give it a poor rating, please first post to the support forum to give me a chance to address or explain the situation.