これは可能ですが、テストし、説明するのは長く複雑静かです...あなたは2つの方法、特定のユーザーの役割や、ユーザーの役割の特定の機能によって条件で、このユーザーをターゲットにする必要があります。その後
は、以下の実施例で
...注入し、CSSと、この隠された設定値を設定するためのJavaScript/jQueryを使用していくつかの設定を非表示にすることも可能ですが、私は'virtual'
と'downloadable'
を有効にします設定jQueryを使ってcheeckboxesを、私は不透明度のCSSルールでほとんど完全にそれらを隠す...
私はに夢中にカスタム関数を使用しますアクションフック、この方法:
add_action('woocommerce_product_options_general_product_data', 'hiding_and_set_product_settings');
function hiding_and_set_product_settings(){
## ==> Set HERE your targeted user role:
$targeted_user_role = 'administrator';
// Getting the current user object
$user = wp_get_current_user();
// getting the roles of current user
$user_roles = $user->roles;
if (in_array($targeted_user_role, $user_roles)){
## CSS RULES ## (change the opacity to 0 after testing)
// HERE Goes OUR CSS To hide 'virtual' and 'downloadable' checkboxes
?>
<style>
label[for="_virtual"], label[for="_downloadable"]{ opacity: 0.2; /* opacity: 0; */ }
</style>
<?php
## JQUERY SCRIPT ##
// Here we set as selected the 'virtual' and 'downloadable' checkboxes
?>
<script>
(function($){
$('input[name=_virtual]').prop('checked', true);
$('input[name=_downloadable]').prop('checked', true);
})(jQuery);
</script>
<?php
}
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルやも任意のプラグインファイルになります。
「管理者」ユーザーロールを特定の対象ユーザーロールに置き換える必要があります。
このチェックボックスを完全に非表示にするには、不透明度を0に設定する必要があります。
は、テストの結果、多くのユーザーの役割の
追加作品:
:この行で $targeted_user_role = 'administrator';
...:
1)この行を交換します
2)そしてまた、この行に置き換えます。
if (array_intersect($targeted_user_roles, $user_roles)){
は今のコードは、多くのユーザ定義のユーザーの役割
私のために動作します:この行で
...を'Virtual'と' Download'チェックボックスを自動チェックする方法は分かりませんが、オプションを隠すことができます。[このリンク]をチェックしてください(http://cartible.com/tips/customizin g-product-types-selectbox-in-woocommerce /)を使用します。 –
ありがとう、主な問題は、実際には自動的に選択することです。私が自動選択することができれば隠れているだろう – akkatracker