是否可以在带有子主题的插件中重写Javascript?
具体来说,我正试图覆盖WooCommerce产品页面的一部分-我想去掉选项卡式内容区域,而是让所有内容都可以通过“选项卡”看到,然后成为页面下方的锚定链接。
我已经通过删除WooCommerce插件文件中的一部分Javascript,找到了如何在本地安装上做到这一点,但从长远来看,这显然不是一个可行的解决方案。
我想从本质上去除插件中的Javascript,并将我自己的文件放入队列,删除不需要的部分。
如果有其他方法可以覆盖它,这就是我需要删除的代码?
.on( \'click\', \'.wc-tabs li a, ul.tabs li a\', function( e ) {
e.preventDefault();
var $tab = $( this );
var $tabs_wrapper = $tab.closest( \'.wc-tabs-wrapper, .woocommerce-tabs\' );
var $tabs = $tabs_wrapper.find( \'.wc-tabs, ul.tabs\' );
$tabs.find( \'li\' ).removeClass( \'active\' );
$tabs_wrapper.find( \'.wc-tab, .panel:not(.panel .panel)\' ).hide();
$tab.closest( \'li\' ).addClass( \'active\' );
$tabs_wrapper.find( $tab.attr( \'href\' ) ).show();
})
SO网友:Jeremy Ross
与其用javascript隐藏它们(你也可以用CSS来隐藏),更好的解决方案是不首先生成选项卡。这是WooCommerce文档。
add_filter( \'woocommerce_product_tabs\', \'woo_remove_product_tabs\', 98 );
function woo_remove_product_tabs( $tabs ) {
unset( $tabs[\'description\'] ); // Remove the description tab
unset( $tabs[\'reviews\'] ); // Remove the reviews tab
unset( $tabs[\'additional_information\'] ); // Remove the additional information tab
return $tabs;
}
从那里,您可以编辑模板文件以显示您想要查看的内容。