WP-DB-Table-Editor Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
This is a WordPress plugin that allows direct excel-like editing of
tables in your WordPress database. It’s goals are to provide useful,
simple, flexible database table admin screens.
It supports:
- one table per admin screen, as many admin screens as desired
- These are organized under a new “DB Table Editor” menu item
- excel spreadsheet like interface using SlickGrid
- Filter and Sort results
- Add, Edit & Delete records
- Custom buttons extensibility
- Custom permissions per interface for viewing and editing
(defaults to: edit_others_posts)- editing defaults to the same permission as viewing if not specified
- CSV exports of filtered grid
- Custom primary key names (but must be a single value / column)
Adding an Interface on the fly
If we go to look up a database table editor and we dont find it, but
there is a function named dbte_create_$tbl that matches, we will call
that function expecting it to return a dbte instance. This is useful
in situations where we may not have the data for a table editor in all
circumstances (EG: not every page has a member id, so only do it on
that particular page).
Adding an Interface from a plugin
If you need to add an interface from a plugin, you should use the
admin_menu action with a lower than default priority.
eg: add_action( 'admin_menu', 'my_load_tables', -10 );
Inside of the my_load_tables
function you would include all the
calls to add_db_table_editor
Custom Buttons
Buttons can be created by pushing functions into
DBTableEditor.extraButtons. Each of these is a slick grid
rowButtonFormatter and should return a string of html.
eg:
out += fn(row, cell, value, columnDef, dataContext);
The button column width can be set by setting:
DBTableEditor.buttonColumnWidth before the ready function is called
Hooks / Actions
-
db-table-editor_enqueue_scripts
is an action that will be called
after enqueueing all plugin scripts and before enqueueingjsFile
(if it exists)function dbTableEditorScripts(){
wp_register_script('employee-table-extensions-js',
get_stylesheet_directory_uri().'/employee-table.js',
array('db-table-editor-js'));
}
add_action('db-table-editor_enqueue_scripts', 'dbTableEditorScripts');
dbte_row_deleted, dbte_row_updated, dbte_row_inserted
Called after a row is deleted, updated, or inserted passes
`
add_action(‘dbte_row_deleted’, ‘my_dbte_row_deleted’, 10, 2);
function my_dbte_row_deleted($currentTable, $idRemoved){
// do things
}
add_action(‘dbte_row_updated’, ‘my_dbte_row_upserted’, 10, 4);
add_action(‘dbte_row_inserted’, ‘my_dbte_row_upserted’, 10, 4);
function my_dbte_row_upserted($currentTable, $values, $columns, $indexedModified){
// do things
}
`
Shortcodes
You can use a shortcode to include a dbte interface on a wordpress
page. Please use with care.
[dbte id=table-editor-id] – (id defaults to table)
Caveats
- Dont put an editable table editor on your public facing screens using the shortcode!
Troubleshooting
Feel free to ask support questions / open trouble tickets
- https://wordpress.org/support/plugin/wp-db-table-editor
- https://github.com/AccelerationNet/wp-db-table-editor/issues
Advanced Examples
Custom Javascript and Buttons on the table editor
See: examples/custom-buttons-and-js.php
examples/custom-buttons.js
Shows how to add custom javascript to a report page and adds a custom
load button on the grid
CF7 DB Submit Plugin integration
See: examples/cf7dbsubmit_integration.php
This is not a fully runnable example, but should give good examples of
- working cf7dbsubmit plugin
- Custom save delete hooks
- custom complex sql building with this plugin
- sending notifications on edit of specific fields
cf7dbsubmit stores its data in a “hashtable” format of:
form, submit_time, field_name, field_value
but we want to present this in a more excel fasion of each field being
a column of our spreadsheet and each row being a different submission
Contributers and Thanks
- bobbysmith007 / Acceleration.net – Primary developer of plugin
- nikomuse – i18n support