我正在构建一个自定义主题并使用复选框循环所有帖子类型,但是我也遇到了一些PHP错误:
$post_types = get_post_types( array (
'show_ui' => true,
'show_in_menu' => true,
),
'objects'
);
foreach ( $post_types as $post_type ) { ?>
<input type="checkbox" name="woo_custom_options[post_types][]" value="<?php echo $post_type->name; ?>" <?php if ($post_types && in_array($post_type->name, $woocustomoptions['post_types'])) echo 'checked';?> />: <?php echo $post_type->label; ?>
<?php
}
我得到的错误是:
注意:未定义索引:post_types
和
警告:in_array()期望参数2为数组,给定为空
...都是相同的行号。
我该如何解决这个问题?
答案 0 :(得分:0)
将此内容添加到foreach中可以使错误消失:
$post_types = isset($woocustomoptions['post_types']) ? $woocustomoptions['post_types'] : '';
答案 1 :(得分:0)
看起来变量 $ post_types 为空,请尝试进行包装并进行验证。
$post_types = get_post_types( array (
'show_ui' => true,
'show_in_menu' => true,
),
'objects'
);
if (isset($post_types)) {
foreach ($post_types as $post_type) { ?>
<input type="checkbox" name="woo_custom_options[post_types][]"
value="<?php echo $post_type->name; ?>" <?php if ($post_types && in_array($post_type->name, $woocustomoptions['post_types'])) echo 'checked'; ?> />: <?php echo $post_type->label; ?>
<?php
}
}