当数据仍未保存时,wordpress中的多个复选框会触发数组中的无效参数

问题描述

我正在尝试使多个复选框适用于基于语言值的自定义元。我在另一个问题中建立了此代码,并且工作正常,除了在未保存数据但返回“ in_array()期望参数2为给定的数组字符串”的情况下首次运行该代码。 我想这是因为add_Meta_data()不能按预期的方式工作-如果postMeta为空-但我不知道为什么或如何使其工作。预先感谢。

function futbol_Meta_Box( $post ) {
// Get post Meta value using the key from our save function in the second paramater.
$futbol_Meta = get_post_meta($post->ID,'_futbol-Meta-Box',true);

?>
    <input type="checkBox" name="futbol-Meta-Box[]" value="en" <?PHP echo (in_array('en',$futbol_Meta)) ? 'checked="checked"' : ''; ?> />Inglés
    <br>
    <input type="checkBox" name="futbol-Meta-Box[]" value="fr" <?PHP echo (in_array('fr',$futbol_Meta)) ? 'checked="checked"' : ''; ?> />Francés
    <br>
    <input type="checkBox" name="futbol-Meta-Box[]" value="es" <?PHP echo (in_array('es',$futbol_Meta)) ? 'checked="checked"' : ''; ?> />Español<br>
<?PHP}

add_action( 'save_post','save_futbol_Meta_Box' );
function save_futbol_Meta_Box() {

global $post;
// Get our form field
if(isset( $_POST['futbol-Meta-Box'] )) {
    $futbol = $_POST['futbol-Meta-Box'];
    $old_Meta = get_post_meta($post->ID,true);
    // Update post Meta
    if(!empty($old_Meta)){
        update_post_Meta($post->ID,$futbol);
    } else {
        add_post_Meta($post->ID,$futbol,true);
    } 
} }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)