0

我正在为新手用户设置 Wordpress 3.0.1。仪表板小部件放置得当,我希望它们保持这种状态。据我所知,没有 add_filter 或 add_action 钩子来防止拖动,所以另一种方法是制作一个使用 jQuery 来禁用拖动的插件。我会覆盖哪些处理程序——click、mouseUp、mouseMove 等——以及哪些 DOM 元素?

4

3 回答 3

1

也许最简单的做法是阻止保存新订单。这将允许用户更改顺序,但不会在下次加载页面时保存更改。

您想阻止meta-box-orderajax 事件:

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 回答