拖放“仅特定插件”后更新窗口小部件表单

时间:2013-05-14 作者:PoseLab

此解决方案,Update widget form after drag-and-drop, 工作正常,但我想调整此功能以仅影响specific plugin and not every plugin. 我该怎么做?

1 个回复
最合适的回答,由SO网友:mrwweb 整理而成

Update 27 July 2015: 添加了新的测试以确保设置。数据搜索被定义为处理一些非标准的边栏实现,例如WPMU的自定义边栏

我遇到了这个问题one of my plugins, 我深深地感激this article 为我指明了正确的方向。

关键是您在回调中获得的第三个参数包括小部件的basename(派生自其类)。我使用的AJAX函数与您链接的示例略有不同,但我想到的是:

$(document).ajaxSuccess(function(e, xhr, settings) {

    // test to see if any instance of a particular widget is saved
    if( undefined != typeof settings.data.search && settings.data.search(\'action=save-widget\') != -1 && settings.data.search(\'id_base={YOUR BASENAME GOES HERE}\') != -1 ) {
        // do something
    }

    // test to see if any widget was added or re-ordered
    if(settings.data.search(\'action=widgets-order\') != -1) {
        // do something
    }

}); 
几点注意事项:

确保在上面填写“{你的基本名称在这里}”console.log(settings); 到函数的第一行,并在JS浏览器控制台中查看它。你会看到你的基本名字埋在那里

结束

相关推荐

Dynamic Sidebars & Echo

我可以成功地让我的动态侧边栏像这样工作:<div class=\"sidebar sidebar-first\"> <ul class=\"widget-area first\"> <?php dynamic_sidebar( \'pop-photos-sidebar\' ); ?> </ul> </div> 现在,我正在尝试让侧栏与php代码中的不同代码一起工作。我试着用