Skip to content
Simple ways to make admin customizations for WordPress
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
composer.json
jigsaw-bootstrap.php
jigsaw-permalinks.php
jigsaw.php
readme.txt

README.md

Jigsaw Banner

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%');
You can’t perform that action at this time.