2012-08-23 50 views
3

嗨,我寫了一個插件,其中我通過擴展wordpress wp_list_table類來顯示數據庫中的各種條目。 要在每一行中顯示一些操作鏈接,我已經按照以下方式使用了該功能。wordpress:如何在wp_list_table類的wordpress中啓用編輯和刪除操作按鈕

function column_name($item) { 
    $actions = array(
     'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>',$_REQUEST['page'],'edit',$item['id']), 
     'delete' => sprintf('<a href="?page=%s&action=%s&hotel=%s">Delete</a>',$_REQUEST['page'],'delete',$item['id']), 
    ); 
    return sprintf('%1$s %2$s', $item['Name'], $this->row_actions($actions)); 
} 

但是從當我點擊這些鏈接沒有發生只有網址的變化我找遍了潔具及大部分的例子中數組的形式使用靜態數據管理頁面,所以,我想說的是,我怎麼可以通過$ _GET []方法使其生效,還是有其他方法可以做到這一點?

+0

我想我需要做這樣的事情 $ testListTable = new Zenith_hotel_Table(); ('delete'=== $ testListTable-> current_action()){ $ wpdb-> query(「DELETE FROM $ table_name WHERE id IN($ ids)」); } $ testListTable-> prepare_items(); $ testListTable-> display(); 但仍然如何獲得刪除編輯的行的編號 –

+0

請參閱本教程處理刪除的內容:http://mac-blog.org.ua/942/不確定編輯操作。 – emeraldjava

+0

感謝emeraldjava教程適合我 –

回答

2

回到您的設置頁面,您應該爲$ GET值添加if語句。 (即回調從您的加載(子)menu_page呼叫

if(isset($_GET['edit-hotel'])) : 
    // Show my edit hotel form 
else : 
    // Show my WP_List_Table 
endif; 

你當然也可以顯示你上面的編輯表格清單表,以及如果合適的話 - 。這只是一個例子

請注意,WP_List_table類被標記@access私人所以實在不應該被用作See this comment from WordPress core developer Andrew Nacin的API的一部分。

相關問題