我正在为新手用户设置 Wordpress 3.0.1。仪表板小部件放置得当,我希望它们保持这种状态。据我所知,没有 add_filter 或 add_action 钩子来防止拖动,所以另一种方法是制作一个使用 jQuery 来禁用拖动的插件。我会覆盖哪些处理程序——click、mouseUp、mouseMove 等——以及哪些 DOM 元素?
问问题
1527 次
3 回答
1
也许最简单的做法是阻止保存新订单。这将允许用户更改顺序,但不会在下次加载页面时保存更改。
您想阻止meta-box-order
ajax 事件:
add_action('check_ajax_referer', 'prevent_meta_box_order');
function prevent_meta_box_order($action)
{
if ('meta-box-order' == $action /* && $wp_user == 'santa claus' */) {
die('-1');
}
}
您可能还想阻止其他操作。打开 Firebug 并检查admin-ajax.php
当你做你想阻止的事情时发出的请求。或者使用 CSS隐藏“屏幕选项”选项卡。
于 2010-08-13T13:25:05.063 回答
0
使用WordPress 之类的角色插件 › Role Scoper « WordPress 插件来限制用户可以执行的操作。编辑核心文件不是一个好主意,因为您的更改将在升级时被覆盖。
于 2010-08-03T20:49:42.507 回答
0
您可以阻止加载处理小部件/元框拖动和折叠行为的脚本:
add_action( 'admin_init', function() {
wp_deregister_script( 'postbox' );
} );
可以选择将它与一些 CSS 组合以隐藏箭头图标和拖动光标,因为此功能现在已禁用:
.handlediv {
display: none !important;
}
.hndle, .widget-top {
cursor: default !important;
}
于 2018-07-31T07:39:17.923 回答