Meu melhor palpite é que você não concedeu permissão ao usuário do banco de dados MySQL Wordpress para sua nova tabela personalizada, presumivelmente porque você a criou com um usuário MySQL diferente por meio de
phpMyAdmin
. Tente executar:GRANT ALL PRIVILEGES ON sow2.spd_invites TO 'wordpress_user'@'wordpress_host';
FLUSH PRIVILEGES; -- load new privileges
Substitua "wordpress_user" pelo seu nome de usuário MySQL do Wordpress (pode ser encontrado em
wp-config.php
) e "wordpress_host" com o nome do host do seu servidor Wordpress (ou localhost se estiver no mesmo servidor). Tenha em mente que isso permitirá que o MySQL do Wordpress tenha permissões completas (
SELECT
, INSERT
, DROP
, etc) para esta tabela, o que pode não ser desejável. Veja os documentos do MySQL para minhas informações sobre o GRANT
comando - http://dev.mysql.com/doc/refman /5.5/en/grant.html
Você vai querer executar sua inserção usando o
query()
função, pois não retornará nenhum resultado:$wpdb->query($query);
Para visualizar todas as tabelas visíveis para seu usuário MySQL do Wordpress, adicione o seguinte ao
functions.php
do seu tema arquivo para imprimir os nomes das tabelas na parte inferior de cada página:function show_all_tables(){
global $wpdb;
foreach($wpdb->get_results("SHOW TABLES", ARRAY_N) as $table):
echo $table[0]."<br/>";
endforeach;
}
add_action('wp_footer', 'show_all_tables');