我刚刚发现了这个很棒的留言板:-)希望有人能帮我解决一个我无法解决的Wordpress问题。。
我在插件文件中添加了一个挂钩,将我发布的即时帖子的帖子id插入到一个名为“post\\u vows”的表中,该表用于跟踪up&;对职位的否决票。
function post_votes($post_ID) {
$wpdb->insert( $wpdb->prefix . \'post_votes\', array( \'post_id\' => $post_ID ) );
return $post_ID;
}
add_action ( \'publish_post\', \'post_votes\' );
因此,上面的代码应该在post\\u id行(在post\\u投票表中)中添加一个post id。。无论我得到什么,
致命错误:对非对象调用成员函数insert()
对于
$wpdb->insert( $wpdb->prefix . \'post_votes\', array( \'post_id\' => $post_ID ) );
最合适的回答,由SO网友:hakre 整理而成
这或多或少是一个编程问题$wpdb并非无处不在。这是一个全局变量。如果您想在自己的函数中使用它,只需添加global $wpdb;
在函数的第一行。
对于一般编程问题,这可能是您的另一个发现:stackoverflow.com,它是关于具体编程的。不管是PHP(就像wordpress插件)还是javascript之类的东西。
但对于您的wordpress问题,以下是完整的代码:
function post_votes($post_ID) {
global $wpdb;
$wpdb->insert( $wpdb->prefix . \'post_votes\', array( \'post_id\' => $post_ID ) );
return $post_ID;
}
add_action ( \'publish_post\', \'post_votes\' );