WooCommerce provides various hooks and action to change the predefined templates. But i need to hide the shipping address from order emails and display N/A. I have created a custom shipping method using plugin. Using that plugin i have to changed the address. Any help will be appreciated.
Finally, i found a solution :
function myplugin_plugin_path() {
return untrailingslashit( plugin_dir_path( __FILE__ ) );
}
add_filter( 'woocommerce_locate_template', 'myplugin_woocommerce_locate_template', 10, 3 );
function myplugin_woocommerce_locate_template( $template, $template_name, $template_path ) {
global $woocommerce;
$_template = $template;
if ( ! $template_path ) $template_path = $woocommerce->template_url;
$plugin_path = myplugin_plugin_path() . '/woocommerce/';
$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 $template;
}
The normal WooCommerce template loader searches the following locations in order:
Reference Link : https://www.skyverge.com/blog/override-woocommerce-template-file-within-a-plugin/