Изменить основной запрос WordPress, чтобы ограничить результаты в списке возможных идентификаторов почтыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Изменить основной запрос WordPress, чтобы ограничить результаты в списке возможных идентификаторов почты

Сообщение Anonymous »

Я работаю над функцией плагина WPRDPRESS /WOOCommerce, где конкретным клиентам отображается только подмножество продуктов. . < /p>
Я пытаюсь зацепить основной запрос: < /p>

Код: Выделить всё

add_action( 'pre_get_posts', 'customprefix_pre_get_posts' );

function customprefix_pre_get_posts( $query )
{
$user = wp_get_current_user();

if ( $query->is_main_query() && is_product_category() )
{
/** @var array $allowed Post IDs */
$allowed = customprefix_get_allowed_products_per_user( $user );

$query->set( 'post__in', $allowed );
}
}
Я пробовал много разных комбинаций о том, как добавить пункт post__in к запросу, включая $ Query-> Query_vars ['post__in'] = $ другие Я попытался добавить $ Query-> parse_query_vars () , а также без успеха.
, пока больше погружаясь в функцию get_posts () в wp_query Похоже, что мое изменение в запросе возвращается правильно (по ссылке) из Pre_get_posts Hook. Следующая строка: $ Q = $ this-> fill_query_vars ($ q); каким-то образом теряет мою пользовательскую поля __in .
Большая часть документации для wp_query < /code> и post__in вращаться вокруг создания нового запроса, не изменяя основной запрос.

Подробнее здесь: https://stackoverflow.com/questions/794 ... e-post-ids
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»