使用空的META_VALUE字段更新WordPress UPDATE_POST_META

时间:2014-10-09 作者:CrazyWu

我正在使用自定义字段插件,我的代码必须自动填充它们,除2个字符串外,一切正常:

我获取字段的方式:

        foreach($postMeta as $key => $dataTmp) {
        if (strpos($key, \'field_\') !== false) {
            $fieldData = unserialize($dataTmp[0]);

            $fields[] = array(
                \'field\' => $key,
                \'name\' => $fieldData[\'name\']
            );
        }
    }
顺便说一下,我正在填充它们:

    foreach($fields as $name => $field){
            if($field[\'name\'] == \'local_players\' && !empty($local_players)){
                update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                update_post_meta($postID, $field[\'name\'], $local_players);

            }elseif($field[\'name\'] == \'away_players\' && !empty($away_players)){
                update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                update_post_meta($postID, $field[\'name\'], $away_players);

            }else{
                update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                update_post_meta($postID, $field[\'name\'], $data[\'Match.\'.$field[\'name\']]);
            }

    }
有问题的字符串是:

update_post_meta($postID, $field[\'name\'], $local_players);
update_post_meta($postID, $field[\'name\'], $away_players);
它们用空的meta\\u值填充数据库,而不是$local\\u players和$away\\u players的值。我已经检查过几次了,它们不是空的。

例如,它们的值如下所示:

string(66) "84168|84171|11206|84174|102117|32083|84189|84186|84193|17787|84195"
空字段的原因可能是什么?

1 个回复
SO网友:CrazyWu

好的,我找到麻烦了。这是合乎逻辑的。

解决方案:

        foreach($fields as $name => $field){
            if($field[\'name\'] == \'local_players\'){
                if(!empty($local_players)){
                    update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                    update_post_meta($postID, $field[\'name\'], $local_players);
                }

            }elseif($field[\'name\'] == \'away_players\'){
                if(!empty($away_players)){
                    update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                    update_post_meta($postID, $field[\'name\'], $away_players);
                }

            }else{
                update_post_meta($postID, \'_\' . $field[\'name\'], $field[\'field\']);
                update_post_meta($postID, $field[\'name\'], $data[\'Match.\'.$field[\'name\']]);
            }

    }

结束

相关推荐

Auth.php的菜单项活动类

我正在构建一个自定义主题。对于author.php 显示作者个人资料及其帖子的文件,我希望我的“关于”菜单项处于活动状态(获取活动类)。我尝试过:add_filter(\'nav_menu_css_class\', \'filter_handler\', 10, 2); 但由于作者的原因,无法使其发挥作用。php不与任何WordPress页面关联,而是使用默认的WordPress模板。有什么解决办法吗?