Wordpress数据库与自定义表

Ada*_*mat 0 php database wordpress

我试图从我导入到我的wordpress数据库的表中提取数据.

我的PHP代码适用于所有默认的wp_表,但是当我尝试并定位表时,我实际上想让我回到bug.

我的代码(目前回复所有帖子标题,它的工作原理)

$liveposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->posts
 WHERE post_status = 'publish'") );

 foreach ($liveposts as $livepost) {
  echo '<p>' .$livepost->post_title. '</p>';
}
Run Code Online (Sandbox Code Playgroud)

我从另一个数据库导入了3个表,是的,他们确实有数据要拔出.我发现$wpdb->posts期望post表是wp_posts ..所以我尝试将我的表重命名为wp_bus_route ...但仍然没有.

我使用phpMyAdmin从一个大型数据库(以.sql格式)导出3个表并导入它们.我可以在phpMyAdmin中查看表格并查看其中的所有数据.

这是我第一次从wp数据库中提取数据,所以我遗漏了一些明显的东西.

Ste*_*lor 6

引用表名$wpdb->posts仅适用于标准WP表.对于自定义表,请像这样构建表名:

$liveposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "tablename WHERE post_status = 'publish'") );
Run Code Online (Sandbox Code Playgroud)

永远不要永远不要硬编码前缀.这可以在wp-config.php中更改,很多人将其更改为其他内容wp_.改变它wp_是一个很好的安全措施.即使它是您自己的代码和您自己的网站,$wpdb->prefix也是一种值得养成习惯的最佳做法.