为什么这个插件不起作用?

时间:2013-08-30 作者:Navin Nagpal

我目前正在学习WordPress插件开发。我试图通过插件将数据插入到自定义表中。这样,当触发动作挂钩时,就会插入数据。这是一个非常简单的代码,但没有得到执行,尽管在调试时我发现函数中的注释echo语句确实得到了执行。

这是代码-

<?php
/*
Plugin Name: What the wpdb
Description: Making use of wpdb
Version: 1.0
Author: Navin Nagpal
License: GPLv2
*/
add_action(\'wp_head\',\'nn_do_dbstuff\');

function nn_do_dbstuff(){
global $wpdb;
//echo \'Text\';
$values = array(
    \'column1\'=>\'Navin\',
    \'column2\'=>22);
$formats_values = array(\'%s\',\'%d\');
$wpdb->insert($wpdb->custom,$values,$formats_values);
}
?>
我的表名为wp\\u custom,它有三个字段,包括作为主键的“id”字段

1 个回复
最合适的回答,由SO网友:Prince Singh 整理而成

$wpdb->custom 应该是"{$wpdb->prefix}custom"

$wpdb->insert( $table, $data, $format ); 取三个参数,其中1st是表名。您应该避免使用wp,因为前缀不一定总是wp\\uu,而是使用$wpdb->prefix 要获取表前缀,"{$wpdb->prefix}custom" 将输出wp\\u custom(给定前缀为站点的wp)

结束

相关推荐

Plugins_url()可以在除wp_reqister_script()之外的任何地方运行

所以我应该提前提到,我正在开发一个插件,所以我的url是“mysite”。com/plugin“(以防万一这与我的问题有关。因此,在我的主插件文件(myplugin.php)中,我添加了以下内容:$plugin_url = plugins_url(\'/my-plugin-directory/\'); 紧接着wp_enqueue_style(\'wp_enqueue_scripts\', $plugin_url . \'css/boxes.css\'); 很好,到目前为止还不错。插件u