Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Example of fpw_widget_templates filter in Feature a Page Widget 2.0. Allows remove of default layouts, "registering" of custom layouts, or setting one layout for all widget instances.
<?php
/**
* remove a default template
*
* default templates are: big, banner, wrapped
*
* this example removes the "Big Image" template
*
* @param $templates array slug => label pairs of templates
*/
function fpw_remove_widget_template( $templates ) {
unset( $templates['big'] );
return $templates;
}
add_filter( 'fpw_widget_templates', 'fpw_remove_widget_template' );
/**
* add a custom template
*
* In addition to this filter, you must create a file named my_new_template.php in a /fpw2_views/ folder in the active child or parent theme
*
* @param $templates array slug => label pairs of templates
*/
function fpw_add_widget_template( $templates ) {
$templates['my_new_template'] = __( 'My New Template', 'your-text-domain' );
return $templates;
}
add_filter( 'fpw_widget_templates', 'fpw_add_widget_template' );
/**
* add one layout for all widgets (& remove Layout setting)
*
* Example sets widget to always use the "Banner" layout
*
* @param $templates array slug => label pairs of templates
*/
function fpw_set_widget_template() {
$template = array( 'banner' => 'Banner Image' ); // note array length = 1
return $template;
}
add_filter( 'fpw_widget_templates', 'fpw_set_widget_template' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.