Site icon Blog technologiczny Web-News.pl

Jak wyświetlić najpopularniejsze wiadomości z wybranego okresu w WordPress ?

wordpress logo

Często chcielibyśmy wyświetlić na swoim blogu linki do artykułów, które cieszą się największą popularnością wśród użytkowników. Poniżej opowiem jak to najszybciej zrobić.

Po pierwsze powinniśmy zainstalować wtyczkę o nazwie WP-PostViews . Zlicza ona ilość odwiedzin danego postu. Informację tą możemy wyświetlić np. obok tytułu wpisu. Ponadto umożliwia ona umieszczenie widgetu w panelu bocznym z najbardziej popularnymi artykułami. Jak to wygląda, można zobaczyć na moim blogu (po prawej stronie).

Niestety wtyczka WP-PostViews nie pozwala, w chwili obecnej, na zdefiniowanie przedziału czasu, za który chcemy pokazywać najbardziej poczytne wpisy. Zatem musimy lekko zmodyfikować jej kod źródłowy.

W edytorze WordPress (Kokpit->Wtyczki->Edytor) wybieramy wtyczkę WP-PostViews. Znajdujemy definicję funkcji get_most_viewed w pliku wp-postviews.php. Zmieniamy linię:

$most_viewed = $wpdb->get_results(“SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < ‘”.current_time(‘mysql’).”‘ AND $where AND post_status = ‘publish’ AND meta_key = ‘views’ AND post_password = ” ORDER BY views DESC LIMIT $limit”);

np. na :

$most_viewed = $wpdb->get_results(“SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date > ‘” . date(‘Y-m-d’, strtotime(‘-30 days’)) .”‘ AND $where AND post_status = ‘publish’ AND meta_key = ‘views’ AND post_password = ” ORDER BY views DESC LIMIT $limit”);

Powyżej wyróżniłem zmodyfikowany fragment linii. W powyższym przypadku zostaną wyświetlone najbardziej popularne wpisy z ostatnich 30 dni – ale poprzez analogiczną modyfikację można zdefiniować dowolny przedział czasu.

 

Exit mobile version