0

我在自定义 Wordpress (v. 4.2.2) 插件中使用 JQWidgets 3.8.0,即 jqxDataTable 功能。在我的插件中,我有以下功能:

  public static function cp_libstaff_load_javascript(){
 ?>
    <script>
       jQuery(document).ready(function () {            
          jQuery("#emu_libstaff_staff_table").jqxDataTable(
          {
            altRows: true,
            sortable: true,
            editable: true,
            selectionMode: 'singleRow',
            columns: [
              { text: 'First Name', dataField: 'First Name', width: 200 },
              { text: 'Last Name', dataField: 'Last Name', width: 200 },
              { text: 'Product', dataField: 'Product', width: 250 },
              { text: 'Unit Price', dataField: 'Price', width: 100, align: 'right', cellsAlign: 'right', cellsFormat: 'c2' },
              { text: 'Quantity', dataField: 'Quantity', width: 100, align: 'right', cellsAlign: 'right', cellsFormat: 'n' }
            ]
        });
      });
    </script>
< ?php
 }

add_action( 'admin_footer', array( 'Libstaff_Admin','cp_libstaff_load_javascript') );

此功能实质上打破了 Wordpress 管理区域中的下拉菜单。例如,在小部件管理页面上,除非我注释掉,否则活动侧边栏菜单不会展开

jQuery("#emu_libstaff_staff_table").jqxDataTable

我知道 JQWidgets 应该与 Wordpress 兼容,所以有什么想法来自哪里吗?

4

1 回答 1

0

我没有在每个管理页面上添加这个脚本,而是只针对我需要运行脚本的插件页面。

// load the scripts on only the plugin page titled "library-staff" 
if (isset($_GET['page']) && ($_GET['page'] == 'library-staff')){ 
        add_action( 'admin_footer', array( 'Libstaff_Admin','cp_libstaff_load_javascript') );
}

当脚本仅在这个页面上运行时,没有 JS 冲突。

于 2015-06-01T19:13:23.247 回答