管理メタボックスを折りたたむ機能を無効にしようとしています。その外観から、WordPressはpostbox.js/wp-admin/js /にこの機能を作成しますが、内蔵関数を上書きするためのフックや適切なJavaScriptを見つけることができませんでした。
これは私が取り組んでいるいくつかのテストコードです。
jQuery('.postbox h3, .postbox .handlediv, .hndle').bind('click', function(e) {
e.preventDefault();
return false;
});
これがどのようにして達成され得るかについての任意の考え?
これをあなたの関数ファイルに追加すると、メタボックストグルが止まります。
function kill_postbox(){
global $wp_scripts;
$footer_scripts = $wp_scripts->in_footer;
foreach($footer_scripts as $key => $script){
if('postbox' === $script)
unset($wp_scripts->in_footer[$key]);
}
}
add_action('admin_footer', 'kill_postbox', 1);
現在のWordpressバージョン(4.5.3)では、閉じているメタボックスハンドラを削除し、以前に閉じていたメタボックスをすべて開くという次のような解決策を思いついた。
php(plugin.php)
function add_admin_scripts( $hook ) {
wp_register_script( 'disable_metabox_toggling', plugin_dir_url(__FILE__) . 'index.js', 'jquery', '1.0.0', true);
wp_enqueue_script( 'disable_metabox_toggling' );
}
add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );
js(index.js)
(function($){
$(document).ready(function() {
$('.postbox .hndle').unbind('click.postboxes');
$('.postbox .handlediv').remove();
$('.postbox').removeClass('closed');
});
})(jQuery);
テーマの中でそれを使いたい場合は、子テーマのためにplugin_dir_url(__FILE__)
をget_template_directory_uri()
またはget_stylesheet_directory_uri()
に置き換えてください。