Задать вопрос
@DimDim7778

Как вывести все товары определенного пользователя Woocommerce на странице сайта или в записи блога?

Здравствуйте.
Подскажите, как вывести все товары определенного пользователя (того кто добавил товар) Woocommerce на странице сайта или в записи блога?
На сайте много зарегистрированных пользователей. Периодически они добавляют товары на сайт и пишут записи в блоге. Как вывести например в записях блога автора ещё и все ранее им добавленные товары?
  • Вопрос задан
  • 275 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Скорее всего вы хотите вывести товары не какого-то конкретного пользователя, а текущего. Для этого вам может быть подойдет больше хук pre_get_posts, на нем по нужным условиям можно отфильтровать основной запрос:

add_action( 'pre_get_posts', 'set_products_current_user', 1 );
function set_products_current_user( $query ) {
	// Выходим, если это админ-панель или не основной запрос
	if( is_admin() || ! $query->is_main_query() )
		return;

	// Устанавливаем текущего юзера, если это запрос товаров
	if ( $query->get( 'post_type' ) == 'product' ) {
		$query->set( 'author', get_current_user_id() );
	}

}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
$query = new WP_Query( 'post_type=product&author=123' );
while ( $query->have_posts() ) {
	$query->the_post();

	the_title();
}

123 - id пользователя

WP_Query
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы