2013-05-15 4 views
0

Я хочу использовать tablesorter в моем плагине wordpress.Tablesorter не работает в плагине Wordpress

Это как моя таблица выглядит

<table class="table table-condensed table-striped" style="font-size:80%;" id="table_id"> 
     <thead align="left"> 
     <tr> 
     <th>col1</th> 
     <th>col2</th> 
      <th style="min-width:6em;">col3</th> 
      <th style="min-width:4em";>col4</th> 
     </tr> 
     </thead> 
    <tbody> 
    </tbody> 
</table> 

Строки таблицы добавляются позже динамически.

В файле PHP я использовал

wp_enqueue_script('tablesorter', plugin_dir_url(__FILE__) . 'js/jquery.tablesorter.js', array('jquery172')); 

В яваскрипта файле я использовал

$("#table_id").tablesorter(); 

Я скопировал файл jquery.tablesorter.js в мой каталог Js. Но ничего не происходит. Любая идея, что происходит не так?

ответ

0

Вы пробовали эту конкретную вспомогательную функцию для Wordpress, чтобы заставить ее работать?

http://webjawns.com/2009/11/jquery-tablesorter-helper-function-for-wordpress/

/** 
* Make all tables with the specified identifier sortable using the jQuery Tablesorter 
plugin. 
* 
* @uses wp_enqueue_script() To enqueue the jQuery Tablesorter script. 
* 
* @param string $identifier jQuery selector (.sortable, #element_id, table, etc.) 
* @param array $args Default is empty string. Array of arguments to pass to 
$.tablesorter() 
* @return void 
*/ 
function make_table_sortable($identifier, $args = '') { 
global $sortable_tables; 

if (in_array($identifier, (array)$sortable_tables)) 
    return; 

wp_enqueue_script('jquery-tablesorter'); 

$sortable_tables[] = array(
    'identifier' => $identifier, 
    'args'  => $args 
); 

add_action('admin_print_footer_scripts', '_make_table_sortable'); 
} 

function _make_table_sortable() { 
global $sortable_tables; 

if (count((array)$sortable_tables) <= 0) 
    return; 
?> 
<script type="text/javascript"> 
<?php 
foreach ($sortable_tables as $sortable_table) { 
    if (!is_array($sortable_table['args'])) { 
     $arguments = ''; 
    } else { 
     $arguments = '{'; 

     $args_count = sizeof($sortable_table['args']); 
     $i = 0; 
     foreach ($sortable_table['args'] as $k => $v) { 
      $arguments .= $k . ': ' . $v; 
      if (++$i != $args_count) $arguments .= ', '; 
     } 

     $arguments .= '}'; 
    } 
?> 
$('<?php echo esc_js($sortable_table['identifier']); ?>').tablesorter(<?php 
echo esc_js($arguments); ?>); 
<?php } ?> 
</script> 
<?php 
} 

Ниже пример использования функции make_table_sortable():

// Sort tables with class 'sortable', first and second columns in ascending 
// order with first taking precedence. 
make_table_sortable('.sortable', array('sortList' => '[[0,0], [1,0]]')); 

// Sort table with ID 'sortable', first column in ascending order. Turn debugging on. 
make_table_sortable('#sortable', array('sortList' => '[[1,0]]', 'debug' => 'true')); 

Может быть, это поможет вам отсортировать вопросы из немного лучше.

+0

также поместил контент в ответ – SSP

Смежные вопросы