我想把标题加在面包屑上面。我的问题是为什么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条件数据的最佳挂钩是什么?
发布于 2015-08-19 02:40:44
init操作发生得太早,无法知道当前页面是否应该显示页面。你至少要等到template_redirect. Reference从"is_page()不从插件中工作“- https://wordpress.stackexchange.com/q/115142/26523。
https://stackoverflow.com/questions/32078933
复制相似问题