Skip to content

Instantly share code, notes, and snippets.

@claudiosanches
Created May 28, 2015 17:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save claudiosanches/01b5e665828d6988b3e2 to your computer and use it in GitHub Desktop.
Save claudiosanches/01b5e665828d6988b3e2 to your computer and use it in GitHub Desktop.
WooCommerce - Custom templates in plugin
function cs_woocommerce_locate_template( $template, $template_name, $template_path ) {
global $woocommerce;
$_template = $template;
if ( ! $template_path ) {
$template_path = $woocommerce->template_url;
}
$plugin_path = untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/templates/';
// Look within passed path within the theme - this is priority
$template = locate_template( array(
$template_path . $template_name,
$template_name
) );
// Modification: Get the template from this plugin, if it exists
if ( ! $template && file_exists( $plugin_path . $template_name ) ) {
$template = $plugin_path . $template_name;
}
// Use default template
if ( ! $template ) {
$template = $_template;
}
// Return what we found
return $template;
}
add_filter( 'woocommerce_locate_template', 'cs_woocommerce_locate_template', 10, 3 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment