Heute gibt es wieder einmal einen kleinen Codeschnipsel speziell für die WordPress-Nutzer unter euch. 😉
Wer ab und zu einmal auf Facebook-Seiten unterwegs ist, der kennt sicherlich die Phrase "Antwortet normalerweise innerhalb von ein paar Stunden" in deren Info-Reiter. Diese soll Nutzern einen Hinweis darauf geben, wie schnell eine Facebook-Seite in der Regel auf Nachrichten antwortet.
Werbeblocker aktiv?
Vermutlich aufgrund eines Werbeblockers kann an dieser Stelle leider keine Werbung angezeigt werden. Als Blog ist diese Website jedoch darauf angewiesen, um diverse Kosten abdecken zu können. Vielleicht möchtest du Servaholics ja in deinem Werbeblocker als Ausnahme hinzufügen und so unterstützen? 🙂
Gedacht ist diese Funktion insbesondere für Support-Seiten von Unternehmen, die ihren Nutzern via Facebook helfen möchten.
Der folgende Codeschnipsel ermöglicht einen ähnlichen Text für die WordPress-Kommentare, genauer: Wie schnell antwortet ein Administrator üblicherweise auf Kommentare?
$limit = 100; // How many comments should be viewed for calculating the average?
$comment_query = 'SELECT `comment_date`, `user_id`, `comment_parent` FROM `'.$wpdb->comments.'` WHERE `comment_parent` != 0 ORDER BY `comment_ID` DESC LIMIT '.$limit;
$comment_array = $wpdb->get_results($comment_query, ARRAY_A);
if ($comment_array != null) {
$sum = 0;
$count = 0;
foreach ($comment_array as $comment) {
if (user_can(intval($comment['user_id']), 'manage_options')) { // More information: http://codex.wordpress.org/Roles_and_Capabilities
$parent_query = 'SELECT `comment_date` FROM `'.$wpdb->comments.'` WHERE `comment_ID` = '.intval($comment['comment_parent']);
$parent_comment = $wpdb->get_row($parent_query, ARRAY_A);
$value = strtotime($comment['comment_date']) - strtotime($parent_comment['comment_date']);
$sum += $value;
$count++;
}
}
$seconds = round($sum / $count);
if ($seconds < 60) {
$average = $seconds." second".($seconds != 1 ? "s" : "");
} elseif ($seconds < 3600) {
$mins = round($seconds / 60);
$average = $mins." minute".($mins != 1 ? "s" : "");
} else if ($seconds < 86400) {
$hours = round($seconds / 3600);
$average = $hours." hour".($hours != 1 ? "s" : "");
} else {
$days = round($seconds / 86400);
$average = $days." day".($days != 1 ? "s" : "");
}
echo 'Average: '.$average;
} else {
echo 'No comments yet';
}
Hinweis: Eingefügt werden kann der Codeschnipsel überall, wo $wpdb verfügbar ist.