仅在激活WooCommerce插件时才在functions.php中使用require_once()
我正在使用Genesis框架/WordPress。对于主题开发,我将通过将主题的/lib/文件夹中类似的函数分割为includes,然后使用require_once()将这些函数以适当的顺序包含在functions.php中,从而保持对函数的组织。我知道对于高度动态的站点,这种方法的性能考虑因素,我想指出的是,这只适用于prod和staging 我有一个Woocommerce函数的集合,我只想在激活Woocommerce插件时加载这些函数。下面您可以看到我在functions.php中尝试构造的条件语句,它将强制wordpress仅在插件激活时加载该语句。无可否认,我是PHP开发新手,很难辨别这是一个方法问题,还是语法问题,还是两者兼而有之:仅在激活WooCommerce插件时才在functions.php中使用require_once(),php,wordpress,woocommerce,wordpress-theming,Php,Wordpress,Woocommerce,Wordpress Theming,我正在使用Genesis框架/WordPress。对于主题开发,我将通过将主题的/lib/文件夹中类似的函数分割为includes,然后使用require_once()将这些函数以适当的顺序包含在functions.php中,从而保持对函数的组织。我知道对于高度动态的站点,这种方法的性能考虑因素,我想指出的是,这只适用于prod和staging 我有一个Woocommerce函数的集合,我只想在激活Woocommerce插件时加载这些函数。下面您可以看到我在functions.php中尝试构造的
if ( ! function_exists( 'is_woocommerce_activated' ) ) {
function is_woocommerce_activated() {
if ( class_exists( 'woocommerce' ) ) {
require_once( CHILD_DIR . '/lib/cg-woocommerce.php' );}
else return; }
}
我在woocommerce.php函数中排队的样式表仍然在WP_head中输出,我假设这意味着条件不起作用。这里有关于如何排除故障的想法或方向吗 您是否输出了各种调用的结果,以确保它们输出您认为会输出的结果?是的。在没有条件的情况下,所有输出都正确。WP头脚本以正确的顺序输出,所有函数都正确启动,甚至自定义主题选项也像一个符咒一样工作。条件是为了作为最后一步,这样我就不必在每次新迭代中都注释掉内容。还应该补充一点,所有内容都仍然正确地与条件语句一起输出。这就是问题所在。因此,这不是我提供的代码破坏功能的问题……而是在woocommerce未激活的情况下继续加载功能的问题。