我希望你们都看过wordpress管理面板。我们在菜单末尾有选项可以折叠或展开菜单。
如果点击折叠,菜单会折叠并保存设置(我不知道在哪里),但如果再次登录,您将看到相同的折叠菜单..
他们在哪里存储这些数据??? 我想让管理员菜单默认显示为折叠,我该怎么做?
编辑:我认为文件wp-admin / js / common.js对此负责.. 您可以在此处查看文件http://phpcrossref.com/xref/wordpress/wp-admin/js/common.js.txt
我认为我得到的代码对此负责,但我是js的新手。代码如下:
$('#collapse-menu').on('click.collapse-menu', function() {
var body = $( document.body ), respWidth, state;
// reset any compensation for submenus near the bottom of the screen
$('#adminmenu div.wp-submenu').css('margin-top', '');
if ( window.innerWidth ) {
// window.innerWidth is affected by zooming on phones
respWidth = Math.max( window.innerWidth, document.documentElement.clientWidth );
} else {
// IE < 9 doesn't support @media CSS rules
respWidth = 961;
}
if ( respWidth && respWidth < 960 ) {
if ( body.hasClass('auto-fold') ) {
body.removeClass('auto-fold').removeClass('folded');
setUserSetting('unfold', 1);
setUserSetting('mfold', 'o');
state = 'open';
} else {
body.addClass('auto-fold');
setUserSetting('unfold', 0);
state = 'folded';
}
} else {
if ( body.hasClass('folded') ) {
body.removeClass('folded');
setUserSetting('mfold', 'o');
state = 'open';
} else {
body.addClass('folded');
setUserSetting('mfold', 'f');
state = 'folded';
}
}
$( document ).trigger( 'wp-collapse-menu', { state: state } );
});
答案 0 :(得分:4)
最后我找到了答案:
我们只需要添加课程&#39;折叠&#39;在body标签中折叠管理员菜单。我使用JavaScript在body标签中添加了类:document.body.className + =&#39;折叠&#39 ;;
这里是我添加到functions.php的完整代码(你也可以将它添加到你的插件中)
代码:=
function custom_admin_js() {
echo "<script type='text/javascript' >
document.body.className+=' folded';
</script>";
}
add_action('admin_footer', 'custom_admin_js');
它有效:)
答案 1 :(得分:1)
上述解决方案是一个很好的方法。但是在此解决方案中,我们可能会看到一些闪烁,直到页面加载完毕并执行脚本(如果已绘制脚本),然后我们才能看到它闪烁。
在深入研究了一些核心文件之后,我通过后端提出了该解决方案。
add_filter("admin_body_class", "my_folded_menu", 10, 1);
function my_folded_menu($classes){
return $classes." folded";
}
这是一回事,它增加了类。只是它是从后端而不是前端执行的。
答案 2 :(得分:0)
您需要找到模板使用auto-fold
和folded
类的位置,并确保页面加载时默认值为folded
。在找到完成的地方之前,我无法说出更多信息。