ショップマネージャーの場合、注文に完了のマークを付ける機能を削除したいと思います。そうするために、私は使用に基づいて、次の「条件付きWoocommerce管理注文リスト内の特定のアクションボタンを非表示にする」私のテーマののfunctions.phpファイルで答えました:
add_filter( 'woocommerce_admin_order_actions', 'custom_admin_order_actions', 900, 2 );
function custom_admin_order_actions( $actions, $the_order ){
if(isset(wp_get_current_user()->roles[0]) && wp_get_current_user()->roles[0] == 'shop-manager')
unset($actions['complete']);
return $actions;
}
これにより、shop_orderページからボタン全体を削除することに成功しました。ただし、ショップマネージャーは、注文プレビューに表示される[完了]ボタンを使用して注文を完了することができます。これを回避するために、前のアクションの後に次のアクションを試しました。
add_action( 'woocommerce_admin_order_preview_start', 'custom_display_order_data_in_admin' );
function custom_display_order_data_in_admin(){
// Call the stored value and display it
echo '<div>Class = "button hidden wc-action-button wc-action-button-complete complete"</div><br>';
}
ただし、コード内の行が置き換えられないため、プレビューウィンドウからボタンが削除されることはありません。
この機能をshop_orderページと注文プレビューから一度に削除する方法はありますか?そうでない場合、プレビューウィンドウからこのボタンを非表示にするにはどうすればよいですか?
「ショップマネージャー」ユーザーロールの管理者注文プレビューから「完了」更新注文ステータスボタンを削除するには、次を使用します。
add_filter( 'woocommerce_admin_order_preview_actions', 'filter_admin_order_preview_actions', 10, 2 );
function filter_admin_order_preview_actions( $actions, $order ) {
if( current_user_can('shop-manager') && isset($actions['status']['actions']['complete']) ) {
unset($actions['status']['actions']['complete']);
}
return $actions;
}
コードは、アクティブな子テーマ(またはアクティブなテーマ)のfunction.phpファイルに入ります。テストされ、動作します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加