Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅在激活WooCommerce插件时才在functions.php中使用require_once()_Php_Wordpress_Woocommerce_Wordpress Theming - Fatal编程技术网

仅在激活WooCommerce插件时才在functions.php中使用require_once()

仅在激活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中尝试构造的

我正在使用Genesis框架/WordPress。对于主题开发,我将通过将主题的/lib/文件夹中类似的函数分割为includes,然后使用require_once()将这些函数以适当的顺序包含在functions.php中,从而保持对函数的组织。我知道对于高度动态的站点,这种方法的性能考虑因素,我想指出的是,这只适用于prod和staging

我有一个Woocommerce函数的集合,我只想在激活Woocommerce插件时加载这些函数。下面您可以看到我在functions.php中尝试构造的条件语句,它将强制wordpress仅在插件激活时加载该语句。无可否认,我是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未激活的情况下继续加载功能的问题。