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

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.

 

Chcesz otrzymywać aktualizacje ? Zapisz się.

Poradniki Porady Admina Programowanie