现在,我正在woocommerce产品上方添加一个侧栏。如何将侧边栏与主题挂钩。
已经注册了侧边栏,它可以正常工作。
register_sidebar(
array(
\'name\' => __( \'Filters\', \'woothemes\' ),
\'id\' => \'filters\',
\'description\' => __( \'Optional widgetized shop page (displays only if widgets are added here).\', \'woothemes\' ),
\'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',
\'after_widget\' => \'</div>\',
\'before_title\' => \'<h3>\',
\'after_title\' => \'</h3>\'
)
);
这是我用过但没有成功的钩子。
add_action( \'woo_main_before\', \'woo_sidebar\' );
function woo_sidebar() {
if (is_woocommerce()) {
echo \'<div class="primary">\';
woo_sidebar( \'filters\' );
echo \'</div>\';
}
*更新:使用下面的代码将此小部件区域添加到所有其他小部件区域。示例:在www.lne的页脚中。网澳大利亚。
add_action( \'woo_main_before\', \'woo_sidebar\' );
function woo_sidebar() {
if (is_woocommerce()) {
echo \'<div class="primary">\';
dynamic_sidebar( \'filters\' );
echo \'</div>\';
}
}
SO网友:Brad Dalton
This solution has been tested on a single product page using Woo Commerce.
此方法适用于子主题函数。php文件,是为自定义主题的非开发人员推荐的方法。
function wpsites_register_woo_widget() {
register_sidebar( array(
\'name\' => \'Before Products Widget\',
\'id\' => \'before-products\',
\'before_widget\' => \'<div>\',
\'after_widget\' => \'</div>\',
) );
}
add_action( \'widgets_init\', \'wpsites_register_woo_widget\' );
add_filter( \'woo_main_before\', \'before_products_widget\', 25 );
function before_products_widget() {
if ( is_product() && is_active_sidebar( \'before-products\' ) ) {
dynamic_sidebar(\'before-products\', array(
\'before\' => \'<div class="before-products">\',
\'after\' => \'</div>\',
) );
}
}
更多关于
Woo\'s conditional tags for Woo Commerce您可以更改hook 和条件标记。
Note: 如果没有创建子主题,可以使用任何Woo主题函数文件的“自定义函数”部分。