Wishlist Add and Remove in WordPress Custom Code for Mobile/Rest API Development

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. 


 

Tags

  • WordPress Rest API Samples

  • Custom Code for Wishlist

  • WordPress Mobile Wishlist API Samples

  • Wishlist Add/Remove Sample code
  • API Custome code in Wordpress
  • WordPress wishlist custom code

Related Posts

CodeIgniter upload multiple images using drag and drop using dropzone

CodeIgniter upload multiple images using drag and drop using dropzone

In this example we are going to explain how to upload mulitple images using dropzone library in Codeigniter. Simple drag and drop image on the webpage. dropzone jQuery plugin, you can easily upload im

Read More
How to disable browser cache easily for particular, individual and separate function and controller in Codeigniter

How to disable browser cache easily for particular, individual and separate function and controller in Codeigniter

This article we are going shows how to disable browser cache easily for particular, individual and separate functions and controller in Codeigniter. We face some kind of problems in real life when bro

Read More
Static Website Design And Development Company Tirupur

Static Website Design And Development Company Tirupur

Static Website Design And Development Company Tirupur. Blazingcoders is a leading web design and development company in Tirupur. offering static website design and development services for the star

Read More