WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a custom wp_list_table to create my own table. Almost everything works perfect, but the bulk action button seems to be not working. It's proper displayed,but on click nothing happens. I think somehow there is a form-wrapper missing or just some javascript? I added the button described on wp-engineeers: http://wpengineer.com/2426/wp_list_table-a-step-by-step-guide/#bulk

My Bulk-action functions:

function get_bulk_actions() {
    $actions = array(
        'activate'    => __('Show'),
        'deactivate'  => __('Hide')
    //Add delete function for admins
    if(current_user_can( 'delete_published_posts' )){
        $actions['delete'] = __('Delete');
    return $actions;

    function process_bulk_action() {

        $action = $this->current_action();
        if( 'activate'===$action ) {

          foreach($_GET['wp_list_event'] as $event) {

        if( 'deactivate'===$action ) {
          wp_die('Items deactivated (or they would be if we had items to deactivate)!');
        //Detect when a bulk action is being triggered...
        if( 'delete'===$action ) {
          wp_die('Items deleted (or they would be if we had items to delete)!');

The rendered HTML (not wrapped by any form tag)

<div class="alignleft actions">
  <select name='action'>
    <option value='-1' selected='selected'>Aktion wählen</option>
    <option value='activate'>Anzeigen</option>
    <option value='deactivate'>Verstecken</option>
  <input type="submit" name="" id="doaction" class="button action" value="Übernehmen"  />
share|improve this question
up vote 5 down vote accepted

You need to wrap your table into form tag, otherwise your bulk action button won't work.

share|improve this answer
Thanks, that did it. – abimelex Sep 10 '13 at 10:07

this lines from Custom List Table Example Plugin the solved the issue:

   <form id="events-filter" method="get">
    <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>" />
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.