Intereting Posts
Пользовательские агенты для мобильного сайта, изменение домена использовать Joins для нескольких таблиц в yii2 Чтение и запись в файл при сохранении блокировки как установить драйвер php mongodb на windows 8 и wamp server? Проблема с Facebook access_token MySQL – запрос для непрочитанных сообщений вместе с почтовыми сообщениями Могу ли я скрыть контроллер и посмотреть имя торт php 2? Symfony2 – Доктрина и FOSUserBundle – неправильные аннотации Объединение таблиц в MySql с одним общим полем, но разными значениями для общего поля Разместить результаты PHP внутри HTML-страницы Отправлять почту с вложением с использованием нового API Gmail, но он не отображается для входящих сообщений получателя Почему хэш-часть URL-адреса отсутствует на стороне сервера? Проблема с запросом авторизации Утечка памяти при выполнении запроса Doctrine в цикле Где я могу разместить общий код библиотеки в Symfony 2?

Обновите все цены на товары WooCommerce до 2 десятичных знаков в базе данных

Многие из моих продуктов имеют такие цены, как £3.4560 и т. Д. Мне нужно, чтобы они округлились и разделились до 2 в базе данных.

Выход из 2 десятичных знаков в WooCommerce недостаточен и не работает с плагином Toggle.

Есть ли запрос к базе данных, который может это сделать?

Я видел несколько бит в Rounding и Truncate, но не уверен, как выполнить это, поскольку мои знания плохие.

Любая помощь приветствуется.

Solutions Collecting From Web of "Обновите все цены на товары WooCommerce до 2 десятичных знаков в базе данных"

Обновление 2: (добавлен некоторый код для очистки всех связанных кэшей переходных процессов)

Ниже приведен код, который обновит все цены на продукт (прежде чем делать резервную копию базы данных):

 global $wpdb; $postmeta = $wpdb->prefix . "postmeta"; $posts = $wpdb->prefix . "posts"; // 1. First query: Get all prices $results = $wpdb->get_results( " SELECT $postmeta.* FROM $postmeta INNER JOIN $posts ON $postmeta.post_id = $posts.ID WHERE $posts.post_type LIKE '%product%' AND $postmeta.meta_key LIKE '%price%' AND $postmeta.meta_value != '' ORDER BY $postmeta.meta_id ASC " ); // iterating through each price and update it foreach($results as $result){ $meta_id = $result->meta_id; $post_id = $result->post_id; $meta_key = $result->meta_key; $meta_value = number_format( $result->meta_value, 2 ); // 2. Udating prices query $wpdb->query( $wpdb->prepare( " UPDATE $postmeta SET meta_id = $meta_id, post_id = $post_id, meta_key = '$meta_key', meta_value = '$meta_value' WHERE $postmeta.meta_id = %d ", $meta_id ) ); // 3. Clear all related product transient cached data (refresh prices) wc_delete_product_transients($post_id); } 

Код идет в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.

После сохранения просто просмотрите любую страницу своего сайта, проверьте свою базу данных в таблице wp_postmeta, ища ‰price‰ LIKE meta_key . Теперь вы можете удалить этот код.