Skip to content

Instantly share code, notes, and snippets.

@1wdtv
Created June 22, 2016 19:24
Show Gist options
  • Save 1wdtv/aa99ab7b19c970203a2036081572e0f8 to your computer and use it in GitHub Desktop.
Save 1wdtv/aa99ab7b19c970203a2036081572e0f8 to your computer and use it in GitHub Desktop.
Use plugin to override woocommerce template files (instead of child theme)
// modify default wc template override so it uses our plugin templates instead
// https://www.skyverge.com/blog/override-woocommerce-template-file-within-a-plugin/
function lab_flavor_plugin_path() {
// gets the absolute path to this plugin directory
return untrailingslashit( plugin_dir_path( __FILE__ ) );
}
add_filter( 'woocommerce_locate_template', 'lab_flavor_woocommerce_locate_template', 10, 3 );
function lab_flavor_woocommerce_locate_template( $template, $template_name, $template_path ) {
global $woocommerce;
$_template = $template;
if ( ! $template_path ) $template_path = $woocommerce->template_url;
$plugin_path = lab_flavor_plugin_path() . '/woocommerce/';
// 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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment