在订单页面 (WooCommerce) 上启用“只读”,以便为商店经理创建订单和客户电子邮件

Posted

技术标签:

【中文标题】在订单页面 (WooCommerce) 上启用“只读”,以便为商店经理创建订单和客户电子邮件【英文标题】:Enable 'Read only' on order page (WooCommerce) for order created & customer email for shop manager only 【发布时间】:2021-11-21 05:04:23 【问题描述】:

我正在使用WooCommerce: Disable Date on Edit Orders anwer 代码

按照这个只适用于admin,那么只适用于shop manager呢?

我想知道有什么方法可以在编辑“创建的订单和“客户:”时禁用?仅限店长?

因为提供的代码对我不起作用,仅适用于管理员。我正在做的方式是使用插件“简单自定义 CSS 和 JS”,并使用提供的代码进行相应添加。但它不起作用。

有没有什么提示或者代码可以直接加到functions.php

正如在帖子中提供的禁用“已创建订单”的编辑一样,“客户:”怎么样?位于“状态”下方。

【问题讨论】:

【参考方案1】:

首先在您的活动父/子主题中创建 js 文件

添加代码:

jQuery(function($) 
     $('.order_data_column .date-picker').attr("disabled", true);
     $('.order_data_column .hour').attr("disabled", true);
     $('.order_data_column .minute').attr("disabled", true);
     $('.wc-customer-user select').attr("disabled", true);
 );

在你的functions.php文件中添加:

function prevent_editing_shop_order_fields( $current_screen ) 
    $user = wp_get_current_user();
    if ( 'shop_order' == $current_screen->post_type && 'post' === $current_screen->base && isset( $user->roles[0] ) && $user->roles[0] == 'shop_manager' )  
        // Fix accordingly with your file
        wp_enqueue_script('myscript', get_stylesheet_directory_uri().'/assets/js/scripts.js',array('jquery')); 
    

add_action( 'current_screen', 'prevent_editing_shop_order_fields' );

$user->roles[0] == 'shop_manager' - 检查当前用户是否为 shop_manager 角色的条件

【讨论】:

谢谢!这是否仅适用于用户角色 shop manager? 或申请管理员。如果是这样,我如何添加代码以仅适用于商店经理? 我已经更新了我的答案。简而言之,它仅在其商店经理时才加载文件。 谢谢。我尝试使用记事本创建一个 js 文件 > 粘贴您为 js 文件提供的代码 > 另存为 javascriptfile.js > 通过 FTP 将其上传到子主题(上传后,从主题编辑器显示 javascriptfile.js 下active child theme > 然后将下面的代码粘贴到function.php。但是,我已经登录到shop manager帐户,仍然可以更改订单创建和客户。请问我在这个过程中我做错了什么?说过了吗? function.php应该是functions.php文件?

以上是关于在订单页面 (WooCommerce) 上启用“只读”,以便为商店经理创建订单和客户电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

WooCommerce - 启用此功能,以便在一个订单中只允许购买此商品中的一个。

如何在 WooCommerce 的订单支付页面上检索订单 ID

在 WooCommerce 管理员订单详细信息页面上的订单项目表中显示产品元数据

Woocommerce - 如何在自定义页面上显示当前用户的订单?

在 WooCommerce 订单页面上列出单独购买的产品的类别和子类别

在 Woocommerce 订单和电子邮件通知中显示产品品牌和名称