我正在通过创建一个扩展来修改现有的插件。我正在尝试使用基本信息更新一行,以测试$ wpdb->更新是否有效,但即使使用普通值,它似乎也会卡住。请看一下这个image。表单一直显示工作符号,但是当我查看数据库时,已经创建了一个新行,所以帖子经历了。我认为它会卡在我的代码行下面。我在这个网站上阅读了其他类似的questions,其中人们通过将$data
和$where
术语放入变量来解决问题,所以我这样做了。它使阅读更容易,但它似乎无法解决我的问题。
$amount_field_col = array('post_amount' => '12.15');
$where_clause = array('ID' => '30');
$wpdb->update('wp_posts', $amount_field_col, $where_clause);
知道为什么它可能不会更新行以及它为什么会被卡住?这里的总体目标是我为现有表单创建了一个新字段,我希望能够将表单输入并将其插入到我在PHPMyAdmin中创建的名为post_amount
的新列中。
答案 0 :(得分:0)
我想我明白了。此代码所在的函数未声明global $wpdb;
。我只是在我的代码上面添加了它,它正确地更新了ID = 30的行。
更有经验的人的问题 - 所以默认情况下,每个函数是否都忘记了之前声明的所有其他变量,甚至 GLOBALS ?我在这个插件代码中看到这个变量是在其activation.php文件中声明的,所以我认为它会“记住”声明$ wpdb。