WordPress сохранить пост перезаписывает пост мета обновления

Когда я запускаю следующий хук действия для сохранения записи без выхода, WordPress перезаписывает значения, которые я установил для некоторых полей (не для всех). Особенно ключ _variable_pricing. Когда я установил выход; после этой функции и запрета WordPress завершить все действие, поле корректно обновляется в базе данных. Кажется, что-то пошло не так, как мне кажется?

function edit_photo_meta($post_id)
{
# Update meta
//... other fields to update
update_post_meta($post_id, '_variable_pricing', 1);
exit;
}
add_action('save_post', 'edit_photo_meta')

Спасибо!

0

Решение

Возможно автосохранение.

Пытаться

if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;

в функции edit_photo_meta

0

Другие решения

Вероятно, порядок действий крючков. Вам лучше подключить обновленную мету:

add_action( 'updated_post_meta', 'override_post_meta', 10, 4 );
function override_post_meta( $meta_id, $post_id, $meta_key, &$meta_value )
{
if ( '_variable_pricing' == $meta_key ) {
update_post_meta($post_id, '_variable_pricing', 1);;
}
}

Этот крючок называется после мета обновлена, поэтому она переопределяет предыдущее значение.

0

По вопросам рекламы [email protected]