Вопрос или проблема
Я пытаюсь создать цикл в конструкторе тем Elementor, который будет отображать каждого пользователя с ролью Участник или Автор. То есть, когда администратор сайта добавляет нового пользователя с вышеуказанной ролью, он автоматически отображается на странице “О нас”, и в то же время этому пользователю предоставляется доступ к сайту.
Это нужно, чтобы избежать дублирования работы, когда тем же членам команды может понадобиться добавлять статьи на сайт.
Спасибо. Возможным обходным решением было бы создать новую категорию (например, члены команды) в публикациях и создать пост для каждого участника, но тогда пользователей придется вводить отдельно, что требует времени и подвержено ошибкам/несоответствиям.
Я думаю, вы можете сделать это, используя динамический контент Elementor Pro. В сетке цикла есть возможность выполнить собственный запрос с идентификатором запроса. Исходя из этого, вам просто нужно написать PHP-фрагмент, чтобы сделать именно то, что вам нужно. Возможно, также придется создать пользовательские динамические теги для каждого элемента, который вы хотите отобразить в сетке цикла. Но это вполне осуществимо.
Мне срочно нужно решение для этого. Это единственная поддержка и единственная статья, которую я могу найти о создании запроса для заполнения пользователей в сетке “Elementor”. Мне нужно создать фильтр, который будет заполнять только пользователей, соответствующих значениям метаданных, чтобы они отображались в сетке “Elementor”. Мне нужны пользователи с ролью “Студент”, чтобы они заполняли сетку цикла и могли устанавливать динамические теги (которые я уже настроил) для таких вещей, как “Имя пользователя”, “Фото профиля” и т.д. Я провел бесчисленные часы, используя ИИ и другие инструменты, чтобы попробовать достичь этой функциональности, безуспешно. Это единственная статья поддержки, которую я могу найти. Вот скрипт, который я сделал и который не работает …
add_action( 'elementor/query/{query_id}', function( $query ) {
// Установите желаемые роли
$roles = ['contributor', 'author'];
// Измените запрос, чтобы отфильтровать пользователей по ролям
$user_query = new WP_User_Query(array(
'role__in' => $roles,
));
// Убедитесь, что запрос включает только ID пользователей из результата
$query->set('include', $user_query->get_results());
});
.
Ответ или решение
Создание цикла пользователей в Elementor: Подробное руководство
Ваша задача — настроить шаблон в Elementor, который будет отображать пользователей с ролями «Автор» или «Конtributor». Это позволит автоматически добавлять новых пользователей на страницу "О нас", избегая дублирования работы и упрощая процесс добавления контента на сайт. Давайте рассмотрим, как можно реализовать это решение.
Шаг 1: Убедитесь, что у вас есть Elementor Pro
Для работы с динамическим контентом и циклами в Elementor вам понадобится версия Pro. Она предоставляет доступ к функциям, необходимым для гибкой настройки запросов и отображения данных.
Шаг 2: Написание PHP-кода для пользовательского запроса
Чтобы отфильтровать пользователей по ролям и передать данные в цикле, вам необходимо создать специальный PHP-скрипт в функции темы или использовать плагин для пользовательских функций, такой как Code Snippets.
add_action('elementor/query/my_custom_query', function($query) {
// Определите нужные роли
$roles = ['contributor', 'author'];
// Модифицируйте запрос для фильтрации пользователей по ролям
$user_query = new WP_User_Query(array(
'role__in' => $roles,
));
// Убедитесь, что запрос включает только ID пользователей из результата
$user_ids = wp_list_pluck($user_query->get_results(), 'ID');
$query->set('include', $user_ids);
});
Шаг 3: Создание цикла в Elementor
-
Добавить новый шаблон: Войдите в Elementor и создайте новый шаблон, используя функцию «Добавить новый» в Theme Builder.
-
Использование Loop Grid: Добавьте виджет Loop Grid на вашу страницу. Эта функция позволяет вам использовать созданный выше PHP-код для отображения данных пользователей.
-
Настройка динамического контента: При настройке Loop Grid, убедитесь, что вы используете созданный вами ID запроса (
my_custom_query
) для отображения пользователей. -
Динамические метки: Настройте динамические метки для отображения элементов, таких как имя пользователя или фотография профиля, используя настройки динамического контента Elementor.
Шаг 4: Публикация и тестирование
После настройки шаблона, сохраните его и опубликуйте. Перейдите на страницу "О нас" и проверьте, отображаются ли пользователи с ролями «Автор» и «Contributor» корректно. Проверьте добавление нового пользователя через панель администратора и убедитесь, что он автоматически отображается на странице.
Заключение
Настройка цикла пользователей в Elementor — это мощный способ отобразить вашу команду на сайте без необходимости вручную добавлять каждого из них в виде записи. Используя возможности динамического контента и пользовательские запросы WP, вы сможете легко управлять отображением пользователей на вашем сайте. Это не только экономит время, но и уменьшает вероятность ошибок.
Если у вас есть дополнительные вопросы или вам нужна помощь с настройкой, не стесняйтесь обращаться за поддержкой.