Automation Testing Company in India
The world is heading towards automation, it has it’s strong footsteps in Software testing as well. We at Blazingcoders perform automation testing with various tools such as Junit, Selenium, QTP/
Read More
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.
Request a FREE Business Plan.
The world is heading towards automation, it has it’s strong footsteps in Software testing as well. We at Blazingcoders perform automation testing with various tools such as Junit, Selenium, QTP/
Read MoreBlazingcoders is a offshore Website Design and Web Development Company, India. We are working with many of our offshore and outsource overseas clients. who is o
Read MoreBlazingcoders is a product development company we develop various products for education industries Online examination system, Online exam portal, School management software, etc. A career guidance sy
Read More