Untitled
unknown
plain_text
2 years ago
2.9 kB
7
Indexable
add_action('woocommerce_after_add_to_cart_button', function(){
global $post;
$current_user = get_current_user_id();
$subaccounts_list = explode(',', get_user_meta($current_user, 'smuac_subaccounts_list', true));
$subaccounts_list = array_filter($subaccounts_list); // filter blank, null, etc.
// add current user to subaccounts to form a complete accounts list
array_push($subaccounts_list, $current_user);
// if current account is subaccount AND has permission to view all account shopping lists, add parent account+all subaccounts lists
$account_type = get_user_meta($current_user, 'smuac_account_type', true);
if ($account_type === 'subaccount'){
$permission_view_all_lists = filter_var(get_user_meta($current_user, 'smuac_account_permission_view_lists', true),FILTER_VALIDATE_BOOLEAN);
if ($permission_view_all_lists === true){
// has permission
$parent_account = get_user_meta($current_user, 'smuac_account_parent', true);
$parent_subaccounts_list = explode(',', get_user_meta($parent_account, 'smuac_subaccounts_list', true));
$parent_subaccounts_list = array_filter($parent_subaccounts_list); // filter blank, null, etc.
array_push($parent_subaccounts_list, $parent_account); // add parent itself to form complete parent accounts list
$subaccounts_list = array_merge($subaccounts_list, $parent_subaccounts_list);
}
}
$shopping_lists = get_posts([
'post_type' => 'smuac_list',
'post_status' => 'publish',
'numberposts' => -1,
'author__in' => $subaccounts_list,
]);
?>
<br><br>
Add to shopping list:
<select id="chosen_shopping_list">
<?php
foreach($shopping_lists as $list){
echo '<option value="'.$list->ID.'">'.esc_html($list->post_title).'</option>';
}
?>
</select>
<button type="button" id="save_product_shopping_list" name="save_product_shopping_list" value="<?php echo esc_attr($post->ID);?>">Add to list</button>
<?php
});
add_action( 'wp_ajax_smuacsavetoplist', 'smuacsavetoplist') ;
add_action( 'smuacsavetoplist', 'smuacsavetoplist') ;
function smuacsavetoplist(){
$plist = sanitize_text_field($_POST['plist']);
$prodid = sanitize_text_field($_POST['prodid']);
$list_details = get_post_meta($plist,'smuac_shopping_list_details', true);
$list_details .= $prodid.':1|';
update_post_meta($plist,'smuac_shopping_list_details', $list_details);
}
add_action('wp_head', function(){
?>
<script>
jQuery(document).ready(function(){
jQuery('#save_product_shopping_list').on('click', function(){
var plist = jQuery('#chosen_shopping_list').val();
console.log(plist);
var datavar = {
action: 'smuacsavetoplist',
plist: plist,
prodid: jQuery(this).val()
};
jQuery.post(smuac_display_settings.ajaxurl, datavar, function(response){
alert('Added successfully!');
});
});
});
</script>
<?php
});Editor is loading...
Leave a Comment