【问题标题】:Enable woocommerce actions screen option by default in wordpress在 wordpress 中默认启用 woocommerce 操作屏幕选项
【发布时间】:2020-03-10 17:13:32
【问题描述】:

我正在构建一个插件,为订单页面上的 woocommerce 订单操作列添加一个新选项。为了确保正确使用它,我想以编程方式确保呈现操作屏幕选项(如列中所示)。我进行了广泛搜索,但在这个方向上找不到任何东西。非常感谢您的帮助。

我试过了:

  • 通过添加一些 javascript 来“取消隐藏”操作选项卡。这不是办法,因为有很多动态内容,这只会弄乱界面。

  • 安装 Simply Show Hooks 并尝试找到我可以挂接的挂钩或过滤器。这也没有任何成功。

  • 这个钩子也不起作用:default_hidden_​​meta_boxes

我认为这是一件如此简单的事情,这让它更加令人沮丧。 在此先感谢:)

ps。屏幕截图以澄清我要启用的功能

【问题讨论】:

    标签: php wordpress woocommerce wp-admin


    【解决方案1】:

    我的解决方案更多基于要取消选中的屏幕选项,但同样适用于要选中的选项,只是不包括这些选项。

    将以下内容放入您的functions.php 文件中,它将完美运行。如果用户已经设置了他们的偏好,请记住暂时删除条件。

    // add_action('user_register', 'set_user_screen_options'); 
    // This function will only fire when a new user is registered 
    
    add_action('admin_init', 'set_user_screen_options'); 
    // Use this if you want it to work for users that already exist, just go to admin and reload once, then you can use only the function 'user_register'
    
    function set_user_screen_options() {
        $meta_key['hidden'] = 'manageedit-shop_ordercolumnshidden';
        $meta_value = array(
            'billing_address',
            'shipping_address',
        );
    
        // set the default hiddens if it has not been set yet, you can remove this for testing, so it will work no matter the preferences saved
        if ( ! get_user_meta( $user->ID, $meta_key['hidden'], true) ) {
            update_user_meta( $user->ID, $meta_key['hidden'], $meta_value );
        }
    
    }
    

    我发现的$meta_key 值正在执行以下查询:

    SELECT * FROM wp_usermeta WHERE meta_key LIKE '%hidden%'
    

    在这种情况下,$meta_value 是每列的 ID 值,wc_actions 元值是不包含的值。

    您可以在这里找到更多信息:How to set default screen options?

    【讨论】:

    • 你好,这个好像不行了。我们可以尝试另一个钩子,而不是admin_init
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2015-09-29
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多