Я пытаюсь создать простой «любимый» список продуктов. По сути, при просмотре списка продуктов кто -то может нажать кнопку, которая добавляет ее в ваши любимые. мета. В следующий раз, когда они нажимают на одну и ту же кнопку, следует удалить ProductId из пользовательской мета. Однако, если я нажимаю на него снова, это даст мне ошибку вместо удаления идентификатора из пользовательской мета. Ошибка - это просто «Обновление ошибок пользовательской мета.» > Вот функция PHP, вызываемую Ajax < /p>
function update_user_meta_ajax() {
$user_id = isset( $_POST['user_id'] ) ? intval( $_POST['user_id'] ) : 0;
$product_id = isset( $_POST['product_id'] ) ? sanitize_text_field( $_POST['product_id'] ) : '';
$meta_key = isset( $_POST['meta_key'] ) ? sanitize_text_field( $_POST['meta_key'] ) : '';
$meta_value = isset( $_POST['meta_value'] ) ? sanitize_text_field( $_POST['meta_value'] ) : '';
// Get Saved Array
$fav_products = get_user_meta($user_id, 'fav_products', true);
// Check if array is empty
if (empty($fav_products)) {
$fav_products = array();
}
// Add or Remove Item from Array
if($meta_value == 'yes'){
$fav_products[] = $product_id;
}else{
unset($fav_products[$product_id]);
}
if (! current_user_can('edit_user', $user_id)) {
wp_send_json_error(array('message' => 'Insufficient permissions.'));
}
if (update_user_meta($user_id, $meta_key, $fav_products)) {
wp_send_json_success();
} else {
wp_send_json_error(array('message' => 'Failed to update user meta.'));
}
wp_die();
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-via-ajax
WordPress добавить/удалить пользовательскую мета через AJAX ⇐ Jquery
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение