各サイトにドメインマッピングとW3 Total Cacheが設定されたマルチサイトインストールを実行しています。私は伝統的な意味でネットワークを使用しません - 各サイトは一般的に独立しています。マッピングプラグインの「ドメインオプション」で2番目のチェックボックスがチェックされているだけです。
ただし、各サイトの管理者は[パフォーマンス]メニューを表示してそのオプションを変更できます。これを無効にしたいのですが。
最善の方法は?
私はそれが最善の方法であるかどうかはわかりませんが、最近行ったこと(ここで答えから選んだこと)は、特定の条件が満たされない場合はメニューページを削除し、すべてのキャップを更新することですURLを覚えているだけの人がアクセスできないように、ページを削除しました。
add_action('admin_menu', 'wpa_44698',999);
function wpa_44698(){
global $submenu;
//only show w3tc_general options to network admins in multisite
if ( is_multisite() && !current_user_can( 'manage_network' ) ) {
remove_menu_page('w3tc_general');
// Still need to update cap requirements even when hidden
if(isset($submenu['w3tc_general'])) foreach( $submenu['w3tc_general'] as $position => $data ) {
$submenu['w3tc_general'][$position][1] = 'manage_network';
}
}
}
編集:私はこれが「よりよい」かどうかわからないが、それはまたうまくいくようです。
add_action('admin_menu', 'wpa_44698',999);
function wpa_44698(){
global $submenu;
//only show w3tc_general options to network admins in multisite
if ( is_multisite() && !current_user_can( 'manage_network' ) && isset($submenu['w3tc_general']) ) {
foreach( $submenu['w3tc_general'] as $position => $data ) {
remove_menu_page($data[2]);
$submenu['w3tc_general'][$position][1] = 'manage_network';
}
}
}