WordPress jest oparty na PHP i MySQL. Jest więc bardzo elastyczny i potężny. Z tego artykułu dowiesz się, jak utworzyć stronę, która pokazuje statystyki komentarzy do Twojego bloga. Na przykład tabela z dwiema kolumnami, autorem i liczbą jego komentarzy.
Aby włączyć kod PHP, musisz zainstalować wtyczkę, która pozwoli Ci dołączyć kod PHP do Twoich postów/stron. Zalecam wyszukanie [Simple Include HTML and PHP] w panelu sterowania WordPress.
Następnie musisz utworzyć stronę, która ma co najmniej następujące (zaznaczone na czerwono).
Wtyczka WordPress do wyświetlania statystyk komentarzy
Następnie przejdź do folderu z motywem i utwórz plik o nazwie cmt.php i ustaw tryb dostępu do pliku na 644 (lub przynajmniej czytelny).
Kod PHP do wypełnienia pliku to:
<?php
//<a class="vglnk" target="_blank" href="https://helloacm.com" rel="nofollow"><span>https</span><span>://</span><span>helloacm</span><span>.</span><span>com</span></a>
global $wpdb;
$query = "
select
`comment_author`,
`comment_author_url`,
count(1) as `cnt`
from
`wp_comments`
where
`comment_approved` = 1
group by
`comment_author`
order by
`cnt` desc
limit 10
";
$result = $wpdb->get_results($query);
if ($result) {
echo "<table width='100%' style='border:0'>";
echo "<tr><b><td>Author</td><td>The Number of Comments</td></b></tr>";
foreach ($result as $author) {
echo "<tr>";
$a = esc_sql($author->comment_author);
$query = "
select
`comment_post_id`,
`comment_id`
from
`wp_comments`
where
`comment_approved` = 1 and
`comment_author` = '$a'
order by
`comment_date` desc
limit 1
";
$latest = $wpdb->get_row($query);
echo "<td><a href='$author->comment_author_url' target='_blank' title='$author->comment_author'>".$author->comment_author."</a></td>";
echo "<td><a title='$author->comment_author' href='/archives/$latest->comment_post_id/#comment-$latest->comment_id'>".$author->cnt."</a></td>";
echo "</tr>";
}
echo "</table>";
}
?>
Kliknięcie [Autor] spowoduje przejście do podanego adresu URL (w nowym oknie), a kliknięcie [Liczba komentarzy] doprowadzi do ich ostatniego komentarza. Format adresu URL może wymagać dostosowania, jeśli nie jest standardowy [/archives/post_id].
Przykładową stronę można obejrzeć tutaj: https://justyy.com/commentator (w języku chińskim).
Funkcja PHP mysql_real_escape_string() jest przestarzała, ale nadal możesz używać esc_sql lub $wpdb->prepare() do ucieczki ciągów (zawierających pojedyncze lub podwójne cudzysłowy) dla SQL/bazy danych.
