Я использую следующий код для обновления значения поля с помощью грозного плагин в Wordpress:Добавление несколько функций add_action в Wordpress брейки сайте
// Order Update Mgmt: Status
add_action('frm_after_create_entry', 'order_mgmt_status', 30, 2);
function order_mgmt_status($entry_id, $form_id){
if($form_id == 25){ //change 25 to the ID of your update form
global $wpdb, $frmdb, $frm_entry_meta;
$order_id = $_POST['item_meta'][1252]; //change 1252 to the ID of the field containing the primary key
$new_status = $_POST['item_meta'][1245]; //change 1245 to the ID of the field containing the new data to insert
$old_status = 368; //change 368 to the ID of field on the master form containing the old data
$wpdb->update($frmdb->entry_metas, array('meta_value' => $new_status), array('item_id' => $order_id, 'field_id' => $old_status));
}
}
Это отлично работает без ошибок.
Однако, если я дублирую код, он разбивает мою установку WordPress (белый экран смерти). Даже если я делаю следующее:
- перемен «order_mgmt_status» к новой функции имени
- И просто, чтобы проверить это, я также закомментировал глобальную линию, $ wpdb-> обновление строки, и изменил имена переменных в дублированном коде.
- Я протестировал его, выполнив новую запись add_action для каждого поля для обновления И, выполнив одну запись add_action, которая вызывает несколько функций для обновления каждого поля. Ни один из них не работал.
Любые идеи для решения были бы очень благодарны!
Спасибо за ответ! Я добавил «return» перед «array», и это привело к тому же пустым белым экранам. – Nick
Пустой белый экран указывает на какую-то серьезную ошибку. Вы должны попытаться выяснить, что это такое. У вас wp_debug установлен в true в вашем wp-config.php? Вы также можете проверить, генерируется ли некоторая ошибка.log где-то в дереве каталогов. – MSTannu