Необходимость «обратно на чертежную доску» в качестве моего предыдущего вопроса, хотя и работал, он работал только из -за ['post__in'] , являющимся идентификатором заказа
Objective: добавьте форму поиска в Frontend для клиента для поиска своих собственных заказов на странице My Account> Orders.
В этом магазине есть пара оптовых Счета, которые бросают судно, заказали продукты. У них много истории заказа в своих счетах, и в идеале нужно иметь возможность искать по номеру заказа и сведения о доставке (имя доставки, фамилия доставки, адрес доставки и т. Д.). < /P>
Отказ от ответственности: этот магазин был полностью преобразован в HPOS, и унаследованные данные удалили и выключены режим совместимости. Следующий код не дает результатов, независимо от того, что запрашивается в форме, обмен сообщениями: «Порядок еще не был сделан.» < /p>
function add_search_to_orders() {
$allowed_roles = array('administrator', 'shop_manager');
$user = wp_get_current_user();
$user_roles = (array) $user->roles;
if (array_intersect($allowed_roles, $user_roles)) {
$show_clear_link = isset($_GET['search_orders']) && !empty($_GET['search_orders']);
echo '
Search';
if ($show_clear_link) {
echo 'Reset Search';
}
echo '';
}
}
add_action('woocommerce_before_account_orders', 'add_search_to_orders');
add_filter('woocommerce_my_account_my_orders_query', 'search_orders_query', 10, 1);
function search_orders_query($args) {
if (isset($_GET['search_orders'])) {
$search_term = sanitize_text_field($_GET['search_orders']);
$args['meta_query'][] = array(
'key' => 'order_number',
'value' => $search_term,
'compare' => 'LIKE'
);
$args['meta_query'][] = array(
'relation' => 'OR',
array(
'key' => 'shipping_first_name',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'shipping_last_name',
'value' => $search_term,
'compare' => 'LIKE'
)
);
$args['meta_query']['relation'] = 'OR';
}
return $args;
}
< /code>
Я добавил в некоторые проверки ролей пользователей, а также ссылку на поиск сброса для хорошей меры. < /p>
Как я могу получить это, чтобы показать фактические результаты ?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ific-order
Добавить форму поиска в WooCommerce My Account> страница заказов на запрос конкретных данных заказа ⇐ Php
Кемеровские программисты php общаются здесь
1739900485
Anonymous
Необходимость «обратно на чертежную доску» в качестве моего предыдущего вопроса, хотя и работал, он работал только из -за ['post__in'] , являющимся идентификатором заказа
[b] Objective: [/b] добавьте форму поиска в Frontend для клиента для поиска своих собственных заказов на странице My Account> Orders.
В этом магазине есть пара оптовых Счета, которые бросают судно, заказали продукты. У них много истории заказа в своих счетах, и в идеале нужно иметь возможность искать по номеру заказа и сведения о доставке (имя доставки, фамилия доставки, адрес доставки и т. Д.). < /P>
[b] Отказ от ответственности: [/b] этот магазин был полностью преобразован в HPOS, и унаследованные данные удалили и выключены режим совместимости. Следующий код не дает результатов, независимо от того, что запрашивается в форме, обмен сообщениями: «Порядок еще не был сделан.» < /p>
function add_search_to_orders() {
$allowed_roles = array('administrator', 'shop_manager');
$user = wp_get_current_user();
$user_roles = (array) $user->roles;
if (array_intersect($allowed_roles, $user_roles)) {
$show_clear_link = isset($_GET['search_orders']) && !empty($_GET['search_orders']);
echo '
Search';
if ($show_clear_link) {
echo 'Reset Search';
}
echo '';
}
}
add_action('woocommerce_before_account_orders', 'add_search_to_orders');
add_filter('woocommerce_my_account_my_orders_query', 'search_orders_query', 10, 1);
function search_orders_query($args) {
if (isset($_GET['search_orders'])) {
$search_term = sanitize_text_field($_GET['search_orders']);
$args['meta_query'][] = array(
'key' => 'order_number',
'value' => $search_term,
'compare' => 'LIKE'
);
$args['meta_query'][] = array(
'relation' => 'OR',
array(
'key' => 'shipping_first_name',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'shipping_last_name',
'value' => $search_term,
'compare' => 'LIKE'
)
);
$args['meta_query']['relation'] = 'OR';
}
return $args;
}
< /code>
Я добавил в некоторые проверки ролей пользователей, а также ссылку на поиск сброса для хорошей меры. < /p>
Как я могу получить это, чтобы показать фактические результаты ?
Подробнее здесь: [url]https://stackoverflow.com/questions/79449161/add-search-form-to-woocommerce-my-account-orders-page-to-query-specific-order[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия