'#',
'class' => 'acfe-dev-delete-meta',
'data-meta-id' => $meta['id'],
'data-meta-key' => $meta['key'],
'data-meta-type' => $meta['type'],
'data-nonce' => wp_create_nonce("acfe-dev-delete-meta-{$meta['id']}"),
);
$row_actions['delete'] = '' . __('Delete') . '';
// return
return $row_actions;
}
/**
* meta_after_table
*
* acfe/dev/meta/after_table
*
* @param $args
*/
function meta_after_table($args){
// bail early
if(!current_user_can(acf_get_setting('capability')) || !$args['bulk']){
return;
}
?>
get_row($wpdb->prepare("SELECT option_name FROM $wpdb->options WHERE option_id = %d LIMIT 1", $id));
if($row){
if(delete_option($row->option_name)){
wp_die(1);
}
}
wp_die(0);
}
// delete by meta type
if(delete_metadata_by_mid($type, $id)){
wp_die(1);
}
wp_die(0);
}
/**
* ajax_delete_bulk_meta
*
* wp_ajax_acfe/bulk_delete_meta
*/
function ajax_delete_bulk_meta(){
// vars
$ids = acf_maybe_get_POST('ids');
$type = acf_maybe_get_POST('type');
// check vars
if(!$ids || !$type){
wp_die(0);
}
// check referer
check_ajax_referer('acfe-dev-bulk');
// check permission
if(!current_user_can(acf_get_setting('capability'))){
wp_die(-1);
}
// delete option
if($type === 'option'){
global $wpdb;
foreach($ids as $id){
// retrieve option from option_id
$row = $wpdb->get_row($wpdb->prepare("SELECT option_name FROM $wpdb->options WHERE option_id = %d LIMIT 1", $id));
if($row){
delete_option($row->option_name);
}
}
wp_die(1);
}
// delete by meta type
foreach($ids as $id){
delete_metadata_by_mid($type, $id);
}
wp_die(1);
}
}
acf_new_instance('acfe_dev_delete_meta');
endif;