最近研究了下WordPress,和Discuz!一样,本身也有数据库操作类,所以抽空检索并整理出来以备日后使用。
引入数据库类,需要先引入WordPress根目录的一个文件,我的测试文件就在根目录,所以引入代码如下:
require_once( dirname(__FILE__) . '/wp-load.php' );
引入后,即可通过:
global $wpdb;
来使用数据库类$wpdb。
下面介绍下$wpdb的一些方法:
get_results:直接取出结果到数组,第二个参数output_type这个常量表示输出什么样的结果。
$resulr=$wpdb->get_results('sql query', output_type);
OBJECT – 对象.
OBJECT_K – 以列名为键值的对象
ARRAY_A – 以列名为键值的数组
ARRAY_N – 以数字为键值的数组
测试代码:
<?php
require_once( dirname(__FILE__) . '/wp-load.php' );
global $wpdb;
$result_arr = $wpdb->get_results("select ID from wp_posts where 1 order by ID limit 1", OBJECT);
var_dump($result_arr);
echo "rn";
$result_arr = $wpdb->get_results("select ID from wp_posts where 1 order by ID limit 1", OBJECT_K);
var_dump($result_arr);
echo "rn";
$result_arr = $wpdb->get_results("select ID from wp_posts where 1 order by ID limit 1", ARRAY_A);
var_dump($result_arr);
echo "rn";
$result_arr = $wpdb->get_results("select ID from wp_posts where 1 order by ID limit 1", ARRAY_N);
var_dump($result_arr);
echo "rn";
输出结果:
array(1) {
[0]=>
object(stdClass)#166 (1) {
["ID"]=>
string(1) "1"
}
}
array(1) {
[1]=>
object(stdClass)#167 (1) {
["ID"]=>
string(1) "1"
}
}
array(1) {
[0]=>
array(1) {
["ID"]=>
string(1) "1"
}
}
array(1) {
[0]=>
array(1) {
[0]=>
string(1) "1"
}
}
如何获取文章后输出:
<?php
require_once( dirname(__FILE__) . '/wp-load.php' );
global $wpdb;
$result_arr = $wpdb->get_results("select ID from wp_posts where 1 order by ID limit 1", ARRAY_N);
query_posts(array( 'post_type' => 'post', 'post__in' => $result_arr));
while(have_posts()){
the_post();
$output[] = get_the_title();
$output[] = str_replace('<br/>',"rn",get_the_content());
$output[] = get_permalink();
$output[] = get_lastpostmodified();
$output[] = get_the_ID();
var_dump($output);
}
wp_reset_query();
暂时就整理这些,以后遇到需要的再查缺补漏好了。
经验来自:https://www.cnblogs.com/huangcong/archive/2011/07/12/2104398.html
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言