Intereting Posts
удалить архив из url :: marketpress Подключаемый контент для определенной страницы или сообщения Добавить выходную запись при входе в систему, заставить ее исчезнуть при выходе из системы? Как подготовить изображения для изменения ширины макета? Почему мой заголовок меняет последний заголовок сообщения в моем цикле? В каком файле использовать $ wpdb и его функции для операций с базами данных и запросов в wordpress? Связанные записи во всех категориях текущего сообщения (пользовательские типы сообщений) Добавить идентификатор для вывода только для первой опции Действия строки не отображаются? Зачем? массив post_categories с использованием переменной Пользовательская структура константной ссылки для пользовательских результатов типа сообщения в 404 Последовательность входа в WordPress после установки Проблема с внедрением python в WordPress Пользователь Admin не может обновлять WP Будни как условия – Как заказать таксономические условия по ID в панели администратора?

wordpress обновлять несколько сообщений post meta

Я пытаюсь одновременно обновить несколько сообщений post meta. У меня есть следующий запрос:

<form action="" method="post"> <?php $variations = new WP_Query(); $variations->query(array('showposts' => -1, 'post_type' => 'product_variation' )); while ($variations->have_posts()) : $variations->the_post(); ?> <input name="regular_price[]" type="text" value="<?php echo get_post_meta(get_the_id(), "_regular_price", true); ?>" /> <input name="sale_price[]" type="text" value="<?php echo get_post_meta(get_the_id(), "_sale_price", true); ?>" /> <input name="item_id[]" type="hidden" value="<?php echo get_the_id(); ?>" /> <?php endwhile; wp_reset_query();?> <input name="save" type="submit" /> 

У меня есть следующий php для обработки данных:

 <?php if (isset($_POST['save'])) { $ids = $_POST['item_id']; $sales = $_POST['sale_price']; foreach ($ids as $id){ update_post_meta($id,'_sale_price',$sale)); } } ?> 

По какой-то причине вышеуказанное не сохраняет правильно. Он сохранит только последнее значение и применит его ко всем сообщениям. Есть ли что-то, что я делаю неправильно?

Это связано с тем, что между идентификатором товара и ценой нет никакой связи, когда вы собираете опубликованные данные. Сделайте изменения, как показано ниже.

Измените значение sale_price ниже, чтобы включить идентификатор элемента

 <input name="sale_price[<?php echo get_the_id(); ?>]" type="text" value="<?php echo get_post_meta(get_the_id(), "_sale_price", true); ?>" /> 

Затем измените цикл для сбора данных, как показано ниже.

 foreach ($ids as $id){ update_post_meta($id,'_sale_price', $sales[$id]); }