Как вывести объявления только текущего пользователя с плагином HIVEPRESS в WordPress?

Ссылка скопирована
1 ответ

Знатоки Wordpress - требуется ваша помощь. Вывожу объявления на сайте с помощью кода

Как вывести объявления только текущего залогиненного пользователя?

Дополнительные вопросы

Это вопрос не к знатокам ВП, а к знатокам HIVEPRESS.
Тебе лучше к ним в саппорт написать.

  • Есть у кого-то ещё варианты ответа?
  • Ответы на вопрос 0

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    В HivePress объявления обычно хранятся отдельным post type, чаще всего hp_listing. Чтобы вывести объявления только текущего авторизованного пользователя, нужно фильтровать запрос по автору. Конкретный код зависит от того, чем вы сейчас выводите объявления: shortcode HivePress, свой WP_Query или шаблон темы.

    Если это ваш собственный запрос, базовый вариант такой:

    $current_user_id = get_current_user_id();
     
    if ($current_user_id) {
        $query = new WP_Query([
            'post_type'      => 'hp_listing',
            'post_status'    => ['publish', 'pending', 'draft'],
            'author'         => $current_user_id,
            'posts_per_page' => 12,
        ]);
    }

    $current_user_id = get_current_user_id(); if ($current_user_id) { $query = new WP_Query([ 'post_type' => 'hp_listing', 'post_status' => ['publish', 'pending', 'draft'], 'author' => $current_user_id, 'posts_per_page' => 12, ]); }

    Дальше выводите $query стандартным циклом. Если нужно показывать объявления только владельцу в личном кабинете, обязательно проверяйте авторизацию:

    if (! is_user_logged_in()) {
        echo 'Войдите, чтобы увидеть свои объявления.';
        return;
    }

    if (! is_user_logged_in()) { echo 'Войдите, чтобы увидеть свои объявления.'; return; }

    Если используете shortcode HivePress, сначала посмотрите, поддерживает ли он параметр автора/vendor. У HivePress часто логика завязана не напрямую на пользователя, а на vendor-профиль. Тогда нужно получить vendor текущего пользователя и фильтровать по связанному полю.

    Практический порядок:

    1. Откройте одно объявление в базе или через админку и проверьте его post_type.
    2. Проверьте, кто указан автором записи.
    3. Если автор объявления совпадает с пользователем — используйте параметр author.
    4. Если автор не совпадает, ищите meta-поле связи с vendor/user.

    Не выводите чужие черновики и pending-объявления без проверки прав. Для публичной страницы обычно показывают только publish, а в личном кабинете владельца можно показывать и ожидающие модерации.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно