如何解决当数据仍未保存时,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 举报,一经查实,本站将立刻删除。