We'll create fresh WordPress site with Featuring CountComments installed. You have 20 minutes to test the plugin after that site we'll be deleted.
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! 😉
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
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
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 ‘[email protected]’.
<?php
global $featuring_countcomments;
$params=array(
'query_type' => 'user_email',
'user_attribute' => '[email protected]'
);
$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
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();
?>
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)
.
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.