Php 将多个部分添加到“电子商务”选项卡
我正在尝试向WooCommerce管理产品选项卡添加两个不同的部分。 以下代码仅在我不使用Php 将多个部分添加到“电子商务”选项卡,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我正在尝试向WooCommerce管理产品选项卡添加两个不同的部分。 以下代码仅在我不使用elseif()时有效,如果我添加此代码,则会出现以下错误: Warning: Invalid argument supplied for foreach() in /wp-content/plugins/woocommerce/includes/admin/class-wc-admin-settings.php on line 197 守则: // Create a section on the Pro
elseif()
时有效,如果我添加此代码,则会出现以下错误:
Warning: Invalid argument supplied for foreach() in /wp-content/plugins/woocommerce/includes/admin/class-wc-admin-settings.php on line 197
守则:
// Create a section on the Products tab
add_filter('woocommerce_get_sections_products', 'myplugin_add_section');
function myplugin_add_section( $sections ) {
$sections['myplugin'] = __('My Plugin page', 'myplugin');
$sections['mypluginlog'] = __('My plugin Log', 'myplugin');
return $sections;
}
// Add Settings
add_filter('woocommerce_get_settings_products', 'myplugin_all_settings', 10, 2);
function myplugin_all_settings( $settings, $current_section ) {
if ($current_section == 'myplugin') {
// do something
}
elseif($current_section == 'mypluginlog') {
// do something else
}
else {
return $settings;
}
如果
if语句
为true,则需要返回一个数组,因为woocommerce\u get\u settings\u
需要返回一个数组
因此,您的代码应该如下所示:
// Create a section on the Products tab
add_filter('woocommerce_get_sections_products', 'myplugin_add_section');
function myplugin_add_section($sections)
{
$sections['myplugin'] = __('My Plugin page', 'myplugin');
$sections['mypluginlog'] = __('My plugin Log', 'myplugin');
return $sections;
}
add_filter('woocommerce_get_settings_products', 'myplugin_all_settings', 10, 2);
function myplugin_all_settings($settings, $current_section)
{
if ($current_section == 'myplugin') {
$my_settings = array();
return $my_settings;
} elseif ($current_section == 'mypluginlog') {
$my_settings = array();
return $my_settings;
} else {
return $settings;
}
}
如果
if语句
为true,则需要返回一个数组,因为woocommerce\u get\u settings\u
需要返回一个数组
因此,您的代码应该如下所示:
// Create a section on the Products tab
add_filter('woocommerce_get_sections_products', 'myplugin_add_section');
function myplugin_add_section($sections)
{
$sections['myplugin'] = __('My Plugin page', 'myplugin');
$sections['mypluginlog'] = __('My plugin Log', 'myplugin');
return $sections;
}
add_filter('woocommerce_get_settings_products', 'myplugin_all_settings', 10, 2);
function myplugin_all_settings($settings, $current_section)
{
if ($current_section == 'myplugin') {
$my_settings = array();
return $my_settings;
} elseif ($current_section == 'mypluginlog') {
$my_settings = array();
return $my_settings;
} else {
return $settings;
}
}