我试图在编辑帖子/页面时限制某些邮箱/元数据库上的jQuery可排序功能。
到目前为止,我已经将我的客户加入了队列。管理中的js文件
wp\\u enqueue\\u脚本
function jm_load_scripts($hook) {
if( $hook != \'edit.php\' && $hook != \'post.php\' && $hook != \'post-new.php\' )
return;
wp_enqueue_script( \'core-functionality-script\', plugin_dir_url( __FILE__) . \'/js/admin.js\' );
}
add_action( \'admin_enqueue_scripts\', \'jm_load_scripts\' );
我创建了一个元盒,其中添加了
class
属于
"not-sortable"
然后在海关
.js
文件,将其可排序性设置为
\'cancel\'
.
jQuery
jQuery(function($) {
$(".meta-box-sortables").sortable({
cancel:".not-sortable"
});
});
这会阻止用户移动元盒,但仍可以将同级元盒拖到上方,然后将元盒推离其位置。
我找到了另一个解决方案this question 13885665 建议使用以下代码
$( ".meta-box-sortables" ).sortable({
items : \':not(.not-sortable)\'
});
这完全有道理,我在网上找到了同样的解决方案,但在这种情况下,它禁用了所有元数据库上的可排序功能。
我的下一个想法是,我可能正在覆盖添加.postbox
class
到sortable
options
领域items:
. 因此,我将代码更改为以下内容。
jquery
$( ".meta-box-sortables" ).sortable({
items : \'.postbox:not(.not-sortable)\'
});
我经常发现的一个解决方案是禁用管理javascript,这是WordPress特有的
postbox.js
我认为任何试图禁用metabox可排序功能的人都不想这样做,因为它删除了很多功能。
我觉得还有一个解决方案需要考虑Question 2474. 但这似乎也不是一个好办法。
我对jQuery没有经验,也没有花太多时间自定义WordPress管理。我可能遗漏了一些显而易见的东西,但在研究了一段时间类似的问题后jQuery-ui 文档,尤其是WordPresswp_admin>js>postbox.js
文件我不能再移动了。
我一直在问这个问题,因为它对Stackoverflow上的jQuery ui有特殊性。
stackoverflow问题
Question 1Question 2
离开WordPress,我可以得到所需的示例,但现在将其添加到我的WordPress解决方案中是我遇到的难题。