在 wordpress 中默认启用 woocommerce 操作屏幕选项

Enable woocommerce actions screen option by default in wordpress

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

我试过:

我认为这是一件很简单的事情,这让事情变得更加令人沮丧。 提前致谢:)

ps。用于说明我正在尝试启用的内容的屏幕截图

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

将以下内容放入您的 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?