J'essaie désespérément de supprimer le lien en double de la liste de produits WooCommerce Admin (page_row_actions).
//Remove duplicate button from product list
function my_duplicate_post_link($actions, $post) {
$product = get_product( $post->ID );
//if( $product->is_type( 'booking' ) ){
//unset($actions['edit']);
unset($actions['admin_action_duplicate_product']);
unset($actions['dupe_link']);
unset($actions['dupe_links']);
unset($actions['duplicate']);
unset($actions['duplicate_product']);
unset($actions['duplicate_product_action']);
return $actions;
//}
}
add_filter('post_row_actions', 'my_duplicate_post_link', 10, 1);
add_filter('page_row_actions', 'my_duplicate_post_link', 10, 1);
Je ne sais pas quoi d'essayer mais je ne peux pas m'en débarrasser :(
Merci
Exécutez uniquementlorsquevous devez exécuter et exécutez uniquementoùvous devez exécuter
Votre code est presque là, mais vous n’exécutez pas à ce moment précis. Si nous utilisons votre code, il s’exécute puis est filtré à nouveau par WooCommerce. Nous avons donc deux options.
Je pense que le simple fait de décocher $actions['duplicate']
devrait fonctionner, je ne sais pas pourquoi vous avez également d'autres variables (faites-moi savoir si vous avez un but).
function my_duplicate_post_link($actions, $post) {
// The following checks WHERE we should run if not products just return
if ( $post->post_type != 'product' ) {
return $actions;
}
$product = get_product( $post->ID );
unset($actions['duplicate']);
return $actions;
}
// Notice priority changed from default 10 to 15(anything greater than 10)
// Priority defines WHEN we should run
add_filter('post_row_actions', 'my_duplicate_post_link', 15, 2);
add_filter('page_row_actions', 'my_duplicate_post_link', 15, 2);
init
add_action('init','wpse_227130_hook_properly');
function wpse_227130_hook_properly() {
add_filter('post_row_actions', 'my_duplicate_post_link', 10, 2);
add_filter('page_row_actions', 'my_duplicate_post_link', 10, 2);
}
Rappelez-vousinit
action s'exécute après le chargement de tous les plugins et le meilleur emplacement pour exécuter du code.