Remova o link do produto duplicado das ações WooCommerce Page Row

Estou tentando desesperadamente remover o link duplicado da lista de produtos de administração do WooCommerce (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); 

Não tenho certeza do que mais tentar, mas não pode se livrar disso 🙁

obrigado

Solutions Collecting From Web of "Remova o link do produto duplicado das ações WooCommerce Page Row"

Rápidinha

Execute apenas quando você precisa executar e apenas executar onde você precisa executar

Seu código está quase lá, mas você não está executando no momento específico, se usarmos seu código, ele é executado primeiro e depois filtrado novamente pelo WooCommerce. Então, temos duas opções.

  1. Alterar a prioridade do filtro
  2. Encaixe o código para executar corretamente

Eu acho que apenas desestabilizando $actions['duplicate'] deveria funcionar, não tenho certeza por que você também possui outras variables ​​(Deixe-me saber se você tem um propósito).

Alterar a prioridade do filtro

 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); 

Ganhar o código para 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); } 

Lembre-se de ação init corre depois de todos os plugins carregados eo melhor lugar para executar o código.