在Genesis Framework上为WooCommerce页面强制使用不同的布局

时间:2018-07-11 06:44:34

标签: wordpress function layout woocommerce force-layout

我正在尝试为WooCommerce页面实现不同的布局。我正在运行WordPress4.9.7,Genesis Framework 2.6.1和WooCommerce 3.4.3。主题设置布局设置为content-sidebar。我希望“购物车”,“结帐”,“我的帐户”和“单个产品”页面具有完整宽度的布局,并且希望“商店”和“产品类别”(父类别)具有侧边栏内容布局。这是我提供的代码,虽然确实在购物车,结帐等页面上强制使用全宽,但并没有强制在“商店”和“产品类别”页面上使用侧边栏内容布局。

//* Force layouts on WooCommerce pages
add_filter( 'genesis_site_layout', 'sweetpea_woo_layouts' );
function sweetpea_woo_layouts() {
if( is_page ( array( 'shop' )) || 'product-category' == get_post_type() ) {
return 'sidebar-content';
 }
if ( is_page( array( 'cart', 'checkout', 'my-account' )) || 'product' == get_post_type() ) {
 return 'full-width-content';
 }
}

有什么想法我做错了什么,或者如何使这项工作实现WooCommerce的不同布局?预先感谢!

1 个答案:

答案 0 :(得分:0)

强制对产品类别,产品标签档案和所有单个产品进行完整的内容布局

将此代码写入function.php文件中

add_action( 'get_header', 'sk_force_layout' );
function sk_force_layout() {

	if ( is_tax( 'product_cat' ) || is_tax( 'product_tag' ) || is_singular( 'product' ) ) {
		add_filter( 'genesis_pre_get_option_site_layout', '__genesis_return_full_width_content' );
	}

}

希望......有效!