Php 从任何主题中删除Woocommerce侧边栏
我使用WoodPress 4.9.4运行Woocommerce 3.3.4版的217个儿童主题。我正在尝试删除侧栏…我已尝试使用以下方法:Php 从任何主题中删除Woocommerce侧边栏,php,wordpress,woocommerce,sidebar,wordpress-hook,Php,Wordpress,Woocommerce,Sidebar,Wordpress Hook,我使用WoodPress 4.9.4运行Woocommerce 3.3.4版的217个儿童主题。我正在尝试删除侧栏…我已尝试使用以下方法: remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10); 但是还没有找到合适的 如何删除所有侧边栏 处理所有主题的最佳且简单的方法是使用get_侧边栏Wordpress动作挂钩: add_action( 'get_sidebar', 'remove_woocommerce_side
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
但是还没有找到合适的
如何删除所有侧边栏 处理所有主题的最佳且简单的方法是使用
get_侧边栏Wordpress动作挂钩:
add_action( 'get_sidebar', 'remove_woocommerce_sidebar', 1, 1 );
function remove_woocommerce_sidebar( $name ){
if ( is_woocommerce() && empty( $name ) )
exit();
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作
您可能需要对一些与html相关的容器进行一些CSS更改
此代码适用于任何主题,因为所有主题都使用get_sidebar()
Wordpress函数作为侧边栏(即使是Woocommerce侧边栏)而get_sidebar
操作钩子位于此功能代码中。处理所有主题的最佳简单方法是以以下方式使用get_sidebar
Wordpress操作钩子:
add_action( 'get_sidebar', 'remove_woocommerce_sidebar', 1, 1 );
function remove_woocommerce_sidebar( $name ){
if ( is_woocommerce() && empty( $name ) )
exit();
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作
您可能需要对一些与html相关的容器进行一些CSS更改
此代码适用于任何主题,因为所有主题都使用get_sidebar()
Wordpress函数作为侧边栏(即使对于Woocommerce侧边栏也是如此),并且get_sidebar
动作挂钩位于此函数代码内。Woocommerce在代码中广告侧边栏,指向该特定主题,在WC_Twenty_Seven类中
/**
*合上217号包装纸。
*/
/**
*合上217号包装纸。
*/
函数自定义\输出\内容\包装器\结束(){
回声';
回声';
回声';
}
WooCommerce在WC_Twenty_Seven课程中,以代码的形式针对这一特定主题在侧栏上做广告
/**
*合上217号包装纸。
*/
/**
*合上217号包装纸。
*/
函数自定义\输出\内容\包装器\结束(){
回声';
回声';
回声';
}
使用is\u active\u侧边栏
挂钩-这应该适用于任何主题,因为它是WordPress的核心功能:
function remove_wc_sidebar_always($array){
返回false;
}
添加过滤器('is_active_sidebar','remove_wc_sidebar_always',10,2);
您还可以使用条件语句仅隐藏某些页面上的侧边栏,例如,在产品页面上:
function remove\u wc\u边栏\u条件($array){
//通过返回false隐藏产品页面上的侧边栏
if(is_product())
返回false;
//否则,返回原始数组参数以保留边栏
返回$array;
}
添加过滤器('is_active_sidebar','remove_wc_sidebar_conditional',10,2);
使用is\u active\u侧边栏
挂钩-这应该适用于任何主题,因为它是WordPress的核心功能:
function remove_wc_sidebar_always($array){
返回false;
}
添加过滤器('is_active_sidebar','remove_wc_sidebar_always',10,2);
您还可以使用条件语句仅隐藏某些页面上的侧边栏,例如,在产品页面上:
function remove\u wc\u边栏\u条件($array){
//通过返回false隐藏产品页面上的侧边栏
if(is_product())
返回false;
//否则,返回原始数组参数以保留边栏
返回$array;
}
添加过滤器('is_active_sidebar','remove_wc_sidebar_conditional',10,2);
没有。坏了。这将停止钩子生命周期中的其余钩子。令人不快的这将停止其余的钩子生命周期钩子
remove_action( 'woocommerce_after_main_content', array( 'WC_Twenty_Seventeen', 'output_content_wrapper_end' ), 10 );
add_action( 'woocommerce_after_main_content', 'custom_output_content_wrapper_end', 10 );
function custom_output_content_wrapper_end() {
echo '</main>';
echo '</div>';
echo '</div>';
}