upstatement / jigsaw
Provides an easy API for developers to tweak the admin options of a WordPress install
0.9.2
2020-02-08 15:07 UTC
Requires
- php: >=5.3.0
- composer/installers: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.0
- satooshi/php-coveralls: 1.0.*
README
Simple ways to make admin customizations for WordPress. You know all that brain space you saved for memorizing hooks? Use it for something better. For example, you can...
Add a column to an admin page!
Jigsaw::add_column($post_type, $column_label, $callback_function, $order = 10);
Jigsaw::add_column('slides', 'Preview', function($pid){ $data = array(); $data['post'] = new TimberPost($pid); Timber::render('admin/slide-table-preview.twig', $data); }, 5);
Jigsaw::add_column(array('slides', 'post'), 'Preview', function($pid){ $data = array(); $data['post'] = new TimberPost($pid); Timber::render('admin/slide-table-preview.twig', $data); });
Add a column to the users table!
Jigsaw::add_user_column($column_label, $callback_function, $order = 10);
Jigsaw::add_user_column('Favorite Band', function($uid){ echo get_user_meta($uid, 'favorite-band', true); }, 5);
Remove a column from the admin
Jigsaw::remove_column($post_types, $column_slug);
Jigsaw::remove_column('slides', 'author');
Jigsaw::remove_column(array('slides', 'post'), 'author');
Add something to the admin bar
Jigsaw::add_toolbar_item($label, $url_or_callback_function);
Jigsaw::add_toolbar_item('Clear Cache', function(){ $total_cache->flush_all(); });
Add a dropdown
Jigsaw::add_toolbar_group($label, $items);
$optionOne = new stdClass(); $optionOne->label = 'All Caches'; $optionOne->action = function(){ $total_cache->flush_all(); }; $optionTwo = new stdClass(); $optionTwo->label = 'Page Cache'; $optionTwo->action = function(){ $total_cache->flush_page_cache(); }; $optionThree = array('Home', 'http://localhost'); Jigsaw::add_toolbar_group('Clear Cache', array($optionOne, $optionTwo, $optionThree));
Show an admin notice
Jigsaw::show_notice($message, $level = 'updated');
Jigsaw::show_notice('Cache has been flushed', 'updated');
...or
Jigsaw::show_notice('Error flushing cache, is the plugin activated?', 'error');
Add a CSS file to the admin
Jigsaw::add_css($css_file);
Jigsaw::add_css('css/my-admin-style.css');
Add a JS file to the admin
Jigsaw::add_js($css_file);
Jigsaw::add_js('js/my-admin-script.js');
JigsawPermalinks
Set the base of the author permalink
JigsawPermalinks::set_author_base($base_string);
JigsawPermalinks::set_author_base('writers');
After this you have to reset permalinks to see it working.
Remove a custom post type permalink
JigsawPermalinks::remove_permalink_slug($custom_post_type)
;
JigsawPermalinks::remove_permalink_slug('event');
or
JigsawPermalinks::remove_permalink_slug(array('event', 'book', 'my_other_cpt'));
Set a custom permalink
JigsawPermalinks::set_permalink($post_type, $structure);
JigsawPermalinks::set_permalink('gallery', '/galleries/%year%/%gallery%');