Wishlist Add and Remove in WordPress Custom Code for Mobile/Rest API Development
In this article, we are going to explain how to add and remove the wishlist using custom code in WordPress and also for mobile application API Development.
$post_id= "current post id";
$current_user = get_user_by('ID', "curent user id");
$user_meta_key = "User-Meta-Value-You-need-to-display";
$neighborhood_id = get_user_meta($current_user->ID, $user_meta_key, TRUE);
Store Current Post Id in Array
$post_id1[]=$post_id;
Condition to check Values exist in user meta table and if already exist we are going to remove it else we are going to add the Value in user meta table
if (in_array($post_id, $neighborhood_id))
{
$keys = array_search($post_id, $neighborhood_id);
unset($neighborhood_id[$keys]);
update_user_meta($current_user->ID, 'bookmarks', $neighborhood_id );
echo "Whishlist Removed Successfully";
}
else
{
if (!empty($neighborhood_id) && $neighborhood_id > 0){
$bookmarks2=array_merge($post_id1,$neighborhood_id);
}else{
$bookmarks2 = "";
}
if( $bookmarks2 != "" ) {
update_user_meta($current_user->ID, 'bookmarks', $bookmarks2 );
echo "Whishlist Added Successfully";
} else {
add_user_meta( $current_user->ID, 'bookmarks', $post_id1 );
echo "Whishlist Added Successfully";
}
}
Add the following code in functions.php file
function add_user_bookmarks() {
$userid=$_REQUEST['userid'];
$post_id=$_REQUEST['post_id'];
$key=$_REQUEST['key'];
$current_user = get_user_by('ID', $userid);
// print_r($current_user);
//$bookmarks = get_user_meta( $userid, 'bookmarks', TRUE );
// print_r($bookmarks);
$neighborhood_id = get_user_meta($current_user->ID, 'bookmarks', TRUE);
// print_r($neighborhood_id);
$post_id1[]=$post_id;
if (in_array($post_id, $neighborhood_id))
{
$keys = array_search($post_id, $neighborhood_id);
unset($neighborhood_id[$keys]);
update_user_meta($current_user->ID, 'bookmarks', $neighborhood_id );
echo "Whishlist Removed Successfully";
}
else
{
if (!empty($neighborhood_id) && $neighborhood_id > 0){
$bookmarks2=array_merge($post_id1,$neighborhood_id);
}else{
$bookmarks2 = "";
}
if( $bookmarks2 != "" ) {
update_user_meta($current_user->ID, 'bookmarks', $bookmarks2 );
echo "Whishlist Added Successfully";
} else {
add_user_meta( $current_user->ID, 'bookmarks', $post_id1 );
echo "Whishlist Added Successfully";
}
}
}
add_action( 'init', 'add_user_bookmarks' );
Mobile App Rest API for Wishlist Add/Remove
If you are planning to develop Rest-Api for mobile app add the following in your function.php file
Access the URL through Postman
https://yourdomain.com/admin-ajax.php?action=add_user_bookmarks&key=190&post_id=24815&userid=1
function add_user_bookmarks() {
$userid=$_REQUEST['userid'];
$post_id=$_REQUEST['post_id'];
$key=$_REQUEST['key'];
$current_user = get_user_by('ID', $userid);
$neighborhood_id = get_user_meta($current_user->ID, 'bookmarks', TRUE);
$post_id1[]=$post_id;
if (in_array($post_id, $neighborhood_id))
{
$keys = array_search($post_id, $neighborhood_id);
unset($neighborhood_id[$keys]);
update_user_meta($current_user->ID, 'bookmarks', $neighborhood_id );
$values=array(
"ID"=>$userid,
"status"=>true,
"status_code"=>200,
"message"=>'Whishlist Removed Successfully'
);
}
else
{
if (!empty($neighborhood_id) && $neighborhood_id > 0){
$bookmarks2=array_merge($post_id1,$neighborhood_id);
}else{
$bookmarks2 = "";
}
if( $bookmarks2 != "" ) {
update_user_meta($current_user->ID, 'bookmarks', $bookmarks2 );
$values=array(
"ID"=>$userid,
"status"=>true,
"status_code"=>200,
"message"=>'Whishlist Added Successfully'
);
} else {
add_user_meta( $current_user->ID, 'bookmarks', $post_id1 );
$values=array(
"ID"=>$userid,
"status"=>true,
"status_code"=>200,
"message"=>'Whishlist Added Successfully'
);
}
}
if($key==190){
$json=json_encode($values,JSON_PRETTY_PRINT);
echo $json;
http_response_code(200);
die();
}
}
add_action( 'init', 'add_user_bookmarks' );
If this article is helpful to share it with your friends.