Featuring CountComments

0

extends information on Users page in Admin Menu with comment counts settings page configurable for standard functions easy to integrate (ships with multi/sidebar- and dashboard-widget

Version
Last updated
Active installations
WordPress Version
Tested up to
PHP Version
Rating
Total ratings
Tag
This plugin is outdated and might not be supported anymore.

Description

  • extends information on Users page in Admin Menu with comment counts
  • settings page configurable for standard functions
  • easy to integrate (ships with multi/sidebar- and dashboard-widget functionality)
  • possible to integrate in “Right Now” box or to display as widget on the dashboard and on the user’s profile page
  • high performance because users’ comment counts are re-used within a page-call
  • API for developers
  • fully compatible with https/SSL/TLS-sites
  • fully multisite network compatible
  • clean uninstall

Requirement for this plugin: Your users have to be registered and logged in to comment – Thus, Featuring CountComments will not work properly in weblogs where anonymous comments are allowed!

Please find the version for WordPress

Plugin’s website: https://www.bernhard-riedl.com/projects/

Author’s website: https://www.bernhard-riedl.com/
Attention! – Geeks’ stuff ahead! 😉

API

Parameters can either be passed as an array or a URL query type string (e.g. “display=0&format=0”). Please note that WordPress parses all arguments as strings, thus booleans have to be 0 or 1 if used in query type strings whereas for arrays real booleans should be used.

$featuring_countcomments->count_by_user($params=array())

Counts the number of comments made by a user who is currently logged in or has a particular attribute.

$params:

  • user_attribute: one of the user’s attributes (matching query_type), for example, the user_id or a WP_User object; if no user_attribute is given, will fallback to currently logged in user

  • query_type: corresponding SQL-field of user’s attribute or WP_User object; default is user_id

    • user_id
    • display_name
    • user_nicename
    • user_email
    • user_login
    • WP_User object
  • format: if set to true (default), the output will be formatted using the attributes zero, one, more and thousands_separator; false = process plain count value

  • zero, one, more: for formatted output – %c gets replaced with the number of comments

    • ‘zero’ => ‘0 comments’
    • ‘one’ => ‘1 comment’
    • ‘more’ => ‘%c comments’
  • thousands_separator: divides counts by thousand delimiters; default , => e.g. 1,386

  • display: if you want to return the count (e.g. for storing it in a variable) instead of echoing it with this function-call, set display to false; default setting is true

The following example outputs the comment count of the user with the registered e-mail address ‘j.doe@example.com’.

<?php

global $featuring_countcomments;

$params=array(
    'query_type' => 'user_email',
    'user_attribute' => 'j.doe@example.com'
);

$featuring_countcomments->count_by_user($params);

?>

$featuring_countcomments->count_by_comment($params=array())

Counts the number of comments made by a user who wrote a certain comment or the current comment in the comment-loop.

$params:

  • comment: a comment object or comment id; if empty retrieves current comment

  • format: if set to true (default), the output will be formatted using the attributes zero, one, more and thousands_separator; false = process plain count value

  • zero, one, more: for formatted output – %c gets replaced with the number of comments

    • ‘zero’ => ‘0 comments’
    • ‘one’ => ‘1 comment’
    • ‘more’ => ‘%c comments’
  • thousands_separator: divides counts by thousand delimiters default , => e.g. 1,386

  • display: if you want to return the count (e.g. for storing it in a variable) instead of echoing it with this function-call, set display to false; default setting is true

  • in_loop: if set to true (default), the query count for all user who wrote a comment which belongs to the post of the handed over comment will be cached; otherwise the comment count will be retrieved only for the user who posted the comment

The following example outputs the number of comments of the author with the current comment in the comment loop:

<?php

global $featuring_countcomments;

$featuring_countcomments->count_by_comment();

?>

Shortcodes

How-to for shortcodes

General Example:

Enter the following text anywhere in a post or page to output the comment count of user xyz:

[featuring_countcomments_count_by_user query_type="user_nicename" user_attribute="xyz"] by xyz so far...

Available Shortcode:

featuring_countcomments_count_by_user

Invokes $featuring_countcomments->count_by_user($params).

featuring_countcomments_count_by_comment

Invokes $featuring_countcomments->count_by_comment($params).

Filters

How-To for filters

General Example:

function my_featuring_countcomments_defaults($params=array()) {
    $params['query_type'] = 'user_nicename';
    return $params;
}

add_filter('featuring_countcomments_defaults', 'my_featuring_countcomments_defaults');

Available Filters:

featuring_countcomments_defaults

In case you want to set the default parameters globally rather than handing them over on every function call, you can add the filter featuring_countcomments_defaults in for example featuring-countcomments.php or your own customization plugin (recommended).

Please note that parameters which you hand over to a function call ($featuring_countcomments->count_by_user or $featuring_countcomments->count_by_comment) will always override the defaults parameters, even if they have been set by a filter or in the admin menu.

featuring_countcomments_dashboard_widget

Receives an array which is used for the dashboard-widget-function call to $featuring_countcomments->count_by_user. display and format will automatically be set to true and user_parameter to null to receive the current user’s count.

featuring_countcomments_dashboard_widget_text

Receives a string which is used in the dashboard-widget. %c will be replaced by the comment count of the user who is currently logged in.

featuring_countcomments_dashboard_right_now

Receives an array which is used for the dashboard-right-now-box-function call to $featuring_countcomments->count_by_user. display and format will automatically be set to true and user_parameter to null to retrieve the comment count of currently logged in user.

featuring_countcomments_dashboard_right_now_text

Receives a string which is used in the right-now box on the dashboard. %c will be replaced by the comment count of the user who is currently logged in.

featuring_countcomments_user_profile

Receives an array which is used for the user-profile-function call to $featuring_countcomments->count_by_user. display and format will automatically be set to true and user_parameter to null to retrieve the comment count of currently logged in user.

featuring_countcomments_user_profile_text

Receives a string which is used in the user’s profile page. %c will be replaced by the comment count of the user who is currently logged in.

featuring_countcomments_users_custom_column

Receives an array which is used for the users-page-function call to $featuring_countcomments->count_by_user. display and format will automatically be set to true and user_parameter to the user-id of each row to retrieve the user’s comment count.