Intereting Posts
Количество ссылок в WordPress по ip-адресу Установленное местоположение WordPress Пользовательские типы сообщений и постоянная ссылка Шорткод интерпретируется как текст Пользовательские поля не работают в нижнем колонтитуле Получать последние теги в облаке? Извлеченный CSV как массив для пользовательского цикла запросов Как вывести список должностей в категории, за исключением сообщений в подкатегориях категории Есть ли веская причина для двух файлов CSS для @import друг друга? Отрегулируйте ограничение памяти на сервере bitnami wordpress (azure) Изменение имени установленного плагина Переключатель темы при доступе из поддомена Удалить пользовательский тип сообщения из доступных через URL-адрес? Назначить пользовательскую роль для персонализированной почты? Как добавить дополнительные пользовательские поля / мета-поля в Elasticsearch?

Виджеты: Показывать последние сообщения только в том случае, если в сообщениях есть обе категории X и Y

Я пытаюсь создать виджет «Недавнее сообщение», где он отображает / показывает сообщения, которые имеют как категории X, так и Y (или более). Категории X и Y определяются пользователем, поэтому я планирую сделать это так:

введите описание изображения здесь

Фактически, эта картина является фактическим снимком экрана из того, что мне удалось создать.

Он работает нормально, если я выбираю только одну категорию. Он будет показывать все записи, которые имеют категорию X (или детей X). Однако, если я добавлю еще одну категорию, она перестанет работать – вместо этого виджет будет показывать все последние записи независимо от категорий.

введите описание изображения здесь

Для создания этого кода в основном я скопировал класс widget_recent_posts из default-widget.php и добавил поле для ввода ID. Он использует WP_query для запроса сообщений и category__and для выбора сообщения:

 $r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'category__and' => array($category_name), 'ignore_sticky_posts' => true ) ) ); 

То, что я создал до сих пор (полный класс), доступно здесь: http://codepad.org/yf1ZFAt5

Я был бы очень благодарен, если бы кто-нибудь мог мне помочь, так как я часами встречался с этим, но не смог справиться с этим. : s