1

使用PHP直接操作WordPress数据库

 1 year ago
source link: https://www.williamlong.info/archives/6921.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用PHP直接操作WordPress数据库

2022-9-11 17:46:14 | 作者: 月光 | 分类: 编程开发 | 评论: 0 | 浏览: 151

  使用WordPress的时候,有时候会有这样的需求,就是想直接使用WordPress里封装的数据库操作的类,对WordPress数据库进行读写查询等操作,这里就介绍一下具体的使用方法。

  方法一:使用wp-load.php

  在php文件开头,加入如下语句

define( 'WP_USE_THEMES', false );
require_once( $_SERVER[ 'DOCUMENT_ROOT' ] . '/wp-load.php' ); 

  之后,就可以通过操作$wpdb类来进行数据库读写查询等操作。举例如下。

<?php $wpdb->query("DELETE FROM $wpdb->post WHERE post_id = 1"); ?>

<?php $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'draft' "); ?>

  读取一个变量

<?php $wpdb->get_var("SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = 'views'"); ?>

<?php $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10"); ?>   

  方法二:只用wp-db.php

  在方法一里,wp-load.php还会继续加载一大堆文件,实际上,核心文件就只有wp-db.php,如果我们只是进行数据库操作,不进行其他操作,那么可以只加载wp-db.php这一个文件。

  具体方法是:

  复制wp-config.php文件为另一个文件,例如wp-config-db.php,编辑这个文件,将文件结尾处的require_once(ABSPATH.'wp-settings.php')一行删除。

  将wp-db.php从wp-includes目录下复制到根目录下,编辑根目录下的wp-db.php文件,搜索filter,将包含这个词的语句删除。搜索foreach ( $modes as $i => $mode ),将这个语句的代码段删除。

  之后,在php文件开头,加入如下几行。

require("./wp-config-db.php");
require("./wp-db.php");
global $wpdb;
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );

  之后,就可以使用方法一里的读取查询语句了。

  这个方法的好处是,可以不用安装WordPress的PHP系统,只需要两个文件:wp-config-db.php和wp-db.php就可以进行数据库操作了,数据库操作语句和原有WordPress系统的语句一样。

使用PHP直接操作WordPress数据库

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK