From 48678b81ceea8303523b25ff3da6b445a4a8cd00 Mon Sep 17 00:00:00 2001 From: maksim Date: Tue, 1 Jul 2025 01:05:45 +0300 Subject: [PATCH] =?UTF-8?q?Task:7037=20|=20=D0=92=D1=8B=D0=B2=D0=B5=D0=BB?= =?UTF-8?q?=20=D1=81=D0=B0=D0=BC=D1=8B=D0=B5=20=D1=87=D0=B8=D1=82=D0=B0?= =?UTF-8?q?=D0=B5=D0=BC=D1=8B=D0=B5=20=D0=BF=D0=BE=D1=81=D1=82=D1=8B=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BA=D0=B0=D1=82=D0=B5=D0=B3=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../most-read/component-controller.php | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/wp-content/themes/cosmopet/modules/blog/components/most-read/component-controller.php b/wp-content/themes/cosmopet/modules/blog/components/most-read/component-controller.php index ce0af80..5b1e8fc 100644 --- a/wp-content/themes/cosmopet/modules/blog/components/most-read/component-controller.php +++ b/wp-content/themes/cosmopet/modules/blog/components/most-read/component-controller.php @@ -1,22 +1,43 @@ 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; }); \ No newline at end of file