Фильтрация заказов, в которых есть продукты от их автора, в списке заказов администратора WooCommerce [HPOS]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Фильтрация заказов, в которых есть продукты от их автора, в списке заказов администратора WooCommerce [HPOS]

Сообщение Гость »


Я использовал это решение для фильтрации списка продуктов пользователей, теперь я ищу решение для фильтрации списка заказов WooCommerce на панели администратора.
Это означает, что вошедший в систему пользователь может видеть только заказы на товары, которые он/она опубликовал, и не может видеть заказы на товары других менеджеров.
Я попробовал этот код с помощью ChatGPT, но не сработало:
< бр />

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

// Filter orders by products authored by the logged-in user in admin
function filter_orders_by_author_in_admin($query) {
global $pagenow, $post_type;

// Check if it's the orders page in admin and the user is not an administrator
if (is_admin() && $pagenow == 'edit.php' && $post_type == 'shop_order' && !current_user_can('administrator')) {
// Get current user ID
$current_user_id = get_current_user_id();

// Get products authored by the current user
$args = array(
'post_type'      => 'product',
'author'         => $current_user_id,
'posts_per_page' => -1, // Get all products authored by the user
);
$products_query = new WP_Query($args);

// Extract product IDs
$product_ids = wp_list_pluck($products_query->posts, 'ID');

// Modify the query to only include orders related to products authored by the current user
$meta_query = array(
array(
'key'     => '_product_id',
'value'   => $product_ids,
'compare' => 'IN',
),
);

// Combine with existing meta queries, if any
$meta_query_combined = $query->get('meta_query');
$meta_query_combined[] = $meta_query;
$query->set('meta_query', $meta_query_combined);
}
}
add_action('pre_get_posts', 'filter_orders_by_author_in_admin');
Would you please help me to achieve that? Thank you


Источник: https://stackoverflow.com/questions/781 ... n-order-li
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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