WordPress Benutzer-Meta über AJAX hinzufügen/entfernenJquery

JQuery-Programmierung
Guest
 WordPress Benutzer-Meta über AJAX hinzufügen/entfernen

Post by Guest »

Ich versuche, eine einfache "Lieblings" -Produktliste zu erstellen. Wenn Sie eine Liste von Produkten anzeigen, kann jemand auf eine Schaltfläche klicken, die sie zu Ihren Favoriten hinzufügt. Meta. Wenn Sie das nächste Mal auf die gleiche Schaltfläche klicken, sollte das ProduktID aus dem Benutzer -Meta entfernen. Wenn ich jedoch erneut darauf klicke, gibt es mir einen Fehler, anstatt die ID aus dem Benutzer -Meta zu entfernen. Der Fehler lautet nur "Fehleraktualisierung des Benutzers Meta".
Ich glaube > Hier wird die PHP -Funktion von Ajax < /p>
aufgerufen

Code: Select all

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();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post