Пользователи как члены команды через цикл в Elementor

Вопрос или проблема

Я пытаюсь создать цикл в конструкторе тем 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

  1. Добавить новый шаблон: Войдите в Elementor и создайте новый шаблон, используя функцию «Добавить новый» в Theme Builder.

  2. Использование Loop Grid: Добавьте виджет Loop Grid на вашу страницу. Эта функция позволяет вам использовать созданный выше PHP-код для отображения данных пользователей.

  3. Настройка динамического контента: При настройке Loop Grid, убедитесь, что вы используете созданный вами ID запроса (my_custom_query) для отображения пользователей.

  4. Динамические метки: Настройте динамические метки для отображения элементов, таких как имя пользователя или фотография профиля, используя настройки динамического контента Elementor.

Шаг 4: Публикация и тестирование

После настройки шаблона, сохраните его и опубликуйте. Перейдите на страницу "О нас" и проверьте, отображаются ли пользователи с ролями «Автор» и «Contributor» корректно. Проверьте добавление нового пользователя через панель администратора и убедитесь, что он автоматически отображается на странице.

Заключение

Настройка цикла пользователей в Elementor — это мощный способ отобразить вашу команду на сайте без необходимости вручную добавлять каждого из них в виде записи. Используя возможности динамического контента и пользовательские запросы WP, вы сможете легко управлять отображением пользователей на вашем сайте. Это не только экономит время, но и уменьшает вероятность ошибок.

Если у вас есть дополнительные вопросы или вам нужна помощь с настройкой, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...