The plugin.php file
Anchor’s plugin system works slightly differently to many other content management systems, in the fact that it’s all handled by a class — this way, everything is object-oriented and more maintainable.
Your plugin will extend Anchor’s built-in Plugin class. There are 3 main
functions which Anchor will call in your plugin to get infomration about
how you want to extend functionality.
- register_routes
- register_protected_routes
- register_filters
Routes
This function should return an array of uri’s along with
their callbacks.
/**
 * Register routes with the router
 * Must return an array of path => callback
 */
public function register_routes() {
	return array(
		'GET' => array(
			'author/(:any)' => array($this, 'author')
		)
	);
}
Protected Routes
Almost the exact same as register_routes except a valid user session must be
present before the callback is ran.
/**
 * Register routes with the router
 * Must return an array of path => callback
 */
public function register_protected_routes() {
	return array(
		'GET' => array(
			'admin/author/(:any)' => array($this, 'author')
		)
	);
}
Filters
This function must also return a array of callbacks but this time the keys are
the object -> properties you would like to modify or read.
/**
 * Registers content filters to apply changes to when called
 *
 * array('object' => array('property' => callback))
 */
public function register_filters() {
	return array(
		'post' => array(
			'title' => function($string) {
				return $string . ' - woooooo';
			}
		)
	);
}