parent
0b359d7a1c
commit
48678b81ce
@ -1,21 +1,42 @@ |
||||
<?php |
||||
add_filter('timber/context', function($context) { |
||||
// Простой запрос для получения последних постов |
||||
// Получаем текущую категорию |
||||
$current_category = get_queried_object(); |
||||
$category_id = null; |
||||
|
||||
if (isset($current_category) && !is_wp_error($current_category) && !empty($current_category->term_id)) { |
||||
$category_id = $current_category->term_id; |
||||
$category_name = $current_category->name; |
||||
} else { |
||||
$category_name = null; |
||||
} |
||||
|
||||
// Формируем аргументы для запроса |
||||
$args = array( |
||||
'post_type' => 'post', |
||||
'posts_per_page' => 3, |
||||
'orderby' => 'date', |
||||
'order' => 'DESC' |
||||
'meta_key' => 'post_views_count', // Предполагаемое мета-поле для просмотров |
||||
'orderby' => 'meta_value_num', // Сортировка по числовому значению мета-поля |
||||
'order' => 'DESC', |
||||
); |
||||
|
||||
// Если выбрана категория, добавляем фильтр по ней |
||||
if ($category_id) { |
||||
$args['cat'] = $category_id; |
||||
} |
||||
|
||||
// Выполняем запрос |
||||
$most_read_query = new WP_Query($args); |
||||
$most_read = new Timber\PostQuery($most_read_query); |
||||
|
||||
// Добавляем данные в контекст |
||||
$context['most_read'] = $most_read; |
||||
$context['current_category'] = $category_name; |
||||
$context['category_list'] = get_categories(); |
||||
|
||||
// Добавляем отладочную информацию |
||||
// Отладочная информация (опционально) |
||||
global $wpdb; |
||||
$debug_info = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM {$wpdb->postmeta} WHERE meta_key LIKE '%view%' LIMIT 5"); |
||||
$debug_info = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM {$wpdb->postmeta} WHERE meta_key = 'post_views_count' LIMIT 5"); |
||||
$context['debug_info'] = $debug_info; |
||||
|
||||
return $context; |
||||
|
Loading…
Reference in new issue