WordPress:从小部件代码访问数据库
Posted
技术标签:
【中文标题】WordPress:从小部件代码访问数据库【英文标题】:WordPress: Access Database From Widget Code 【发布时间】:2013-06-26 17:19:06 【问题描述】:如何访问我的 WordPress 数据库并从小部件代码运行 SQL? (我需要从小部件代码访问我的插件之一的设置)
【问题讨论】:
也许你不需要 SQL 查询。目标是什么?能发下相关代码吗? 【参考方案1】:如果您想从数据库中检索一些信息,您可以使用四个辅助函数之一来查询数据库并检索数据。
get_results():
这是我们之前看到的函数。当您需要二维数据(多行和多列)时,它是最好的。它将数据转换为一个数组,其中包含每一行的单独对象。
get_row():
当您只需要在数据库中查找一个特定的行(例如,具有最多 cmets 的帖子)时,您可以使用 get_row()。它将数据拉入一维对象。
get_col():
此方法与 get_row() 非常相似,但它获取的不是单行结果,而是单列。如果您只想检索评论最多的前 10 个帖子的 ID,这将很有帮助。与 get_row() 一样,它将您的结果存储在一维对象中。
get_var():
在许多情况下,您只需要数据库中的一个值;例如,您的一位用户的电子邮件地址。在这种情况下,您可以使用 get_var 将其作为简单值检索。该值的数据类型将与其在数据库中的类型相同
一个例子:
<?php
$drafts = $wpdb->get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'draft' AND post_author = 5");
foreach ( $drafts as $draft )
echo $draft->post_title;
?>
文档:http://codex.wordpress.org/Class_Reference/wpdb
来源:http://wp.smashingmagazine.com/?p=98071
希望这会有所帮助。
【讨论】:
FROM $wpdb->posts
应该是 FROM wp_posts
?这是我找到的 WP DB 图:codex.wordpress.org/Database_Description。有一天它可能会帮助某人...... :)【参考方案2】:
您可以查看此http://codex.wordpress.org/Class_Reference/wpdb 以获取完整文档。在简历中,您可以从小部件代码的任何部分执行以下操作:
global $wpdb;
$rows = $wpdb->get_results( "SELECT id, name FROM table" );
【讨论】:
【参考方案3】:只需在文件中包含wp-blog-header.php
require('yourpath/wp-blog-header.php');
global $wpdb;
$result=$wpdb->get_results("SELECT * FROM table");
var_dump($result);
【讨论】:
以上是关于WordPress:从小部件代码访问数据库的主要内容,如果未能解决你的问题,请参考以下文章