我正在尝试在面包屑上方添加标题。我的问题是,为什么WooCommerce Conditionals可以更好地工作template_redirect
而不能工作init
。例如:
/** Woo General Init **/
function woo_general_init() {
echo ( is_product() ) ? 'True' : 'False';
if( is_product() ) {
add_action( 'woocommerce_before_main_content', 'woocommerce_template_single_title', 10 );
add_action( 'woocommerce_before_main_content', 'woocommerce_template_single_excerpt', 11 );
}
}
add_action( 'init', 'woo_general_init' );
False
查看单个WooCommerce产品时,评估为文档顶部。另一方面,如果我更改init
为template_redirect
条件输出True
:
/** Woo General Init **/
function woo_general_init() {
echo ( is_product() ) ? 'True' : 'False';
if( is_product() ) {
add_action( 'woocommerce_before_main_content', 'woocommerce_template_single_title', 10 );
add_action( 'woocommerce_before_main_content', 'woocommerce_template_single_excerpt', 11 );
}
}
add_action( 'template_redirect', 'woo_general_init' );
为什么当我迷上钩子时却收到“假”init
字样template_redirect
?运行WooCommerce条件数据的最佳方法是什么?
该动作 init
发生得太早了,无法知道当前页面是否应该显示页面。您至少要等到template_redirect
。来自“is_page()
无法在插件中使用”的引用-https: //wordpress.stackexchange.com/q/115142/26523
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句