luk*_*ger 0 php mysql wordpress wpdb
我正在尝试将新表格行插入自定义wpdb表格.数据来自发布到脚本的表单.
我global $wpdb在脚本的开头声明并插入数据库,但由于某种原因它不喜欢查询功能,WordPress建议在codex中使用.
// declare global wpdb
global $wpdb;
// set variables for posting to db
$name = $_POST['name'];
$email = $_POST['email'];
// post to the db
$wpdb->query( $wpdb->prepare(
"
INSERT INTO $wpdb->entries
( name, email )
VALUES ( %s, %s )
",
$name,
$email
) );
Run Code Online (Sandbox Code Playgroud)
关于它为什么会被淘汰的任何想法?
小智 9
它是一个wordpress功能,因此$wpdb只有先前已定义全局才能调用全局.
这意味着,在/ wp-content/...文件夹中,如果你使用带有wp特定功能的脚本,那么在使用wordpress core编译它之前它将无法工作.
因此,例如,主题模板或插件文件只能通过调用工作$wpdb,但您的独立脚本不会,即使它在插件或主题目录中.
简单的解决方案是在运行该脚本之前包含/wp-config.php文件.写吧:
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-config.php' );
Run Code Online (Sandbox Code Playgroud)
之前调用$wpdb.这个对我有用.