在订单页面 (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 - 如何在自定义页面上显示当前用户的订单?