从WooCommerce页面行操作中删除重复的产品链接

时间:2016-05-19 作者:Daniel Klose

我正在拼命尝试删除WooCommerce管理产品列表中的重复链接(page\\u row\\u 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);
不确定还能尝试什么,但无法摆脱:(

谢谢

1 个回复
最合适的回答,由SO网友:bravokeyl 整理而成

仅快速运行when 你需要跑步,而且只需要跑步where 你需要跑步

您的代码几乎已经存在,但您没有在特定时间运行,如果我们使用您的代码,它会先运行,然后再由WooCommerce进行过滤。所以我们有两个选择。

  1. Change priority of the filter
  2. Hook the code to run properly$actions[\'duplicate\'] 应该可以,我不确定你为什么还有其他变量(如果你有目的,请告诉我)。

    更改筛选器的优先级

    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);
}
记住init 操作在加载所有插件和运行代码的最佳位置后运行。

相关推荐

WP-ADMIN:“对不起,您不能访问此页面。”

两周后不使用我们的WP站点,登录/wp-admin/ 出现白屏错误:抱歉,不允许您访问此页面。我有:重命名plugins 到plugins.temp.通过phpMyAdmin创建了一个新的管理员用户。新用户已user_meta 的作用a:1:{s:13:"administrator";s:1:"1";}.</已重命名themes 到themes.temp.</删除核心WordPress文件,并替换为新上载的文件</已替换.htaccess 使用默认