PHP直接操作WordPress數(shù)據(jù)庫(kù)
使用WordPress的時(shí)候,有時(shí)候會(huì)有這樣的需求,就是想直接使用WordPress里封裝的數(shù)據(jù)庫(kù)操作的類(lèi),對(duì)WordPress數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)查詢(xún)等操作,這里就介紹一下具體的使用方法。
方法一:使用wp-load.php
在php文件開(kāi)頭,加入如下語(yǔ)句
define( 'WP_USE_THEMES', false );
require_once( $_SERVER[ 'DOCUMENT_ROOT' ] . '/wp-load.php' );
之后,就可以通過(guò)操作$wpdb類(lèi)來(lái)進(jìn)行數(shù)據(jù)庫(kù)讀寫(xiě)查詢(xún)等操作。舉例如下。
查詢(xún)
<?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' "); ?>
讀取一個(gè)變量
<?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還會(huì)繼續(xù)加載一大堆文件,實(shí)際上,核心文件就只有wp-db.php,如果我們只是進(jìn)行數(shù)據(jù)庫(kù)操作,不進(jìn)行其他操作,那么可以只加載wp-db.php這一個(gè)文件。
具體方法是:
復(fù)制wp-config.php文件為另一個(gè)文件,例如wp-config-db.php,編輯這個(gè)文件,將文件結(jié)尾處的require_once(ABSPATH.'wp-settings.php')一行刪除。
將wp-db.php從wp-includes目錄下復(fù)制到根目錄下,編輯根目錄下的wp-db.php文件,搜索filter,將包含這個(gè)詞的語(yǔ)句刪除。搜索foreach ( $modes as $i => $mode ),將這個(gè)語(yǔ)句的代碼段刪除。
之后,在php文件開(kāi)頭,加入如下幾行。
require("./wp-config-db.php");
require("./wp-db.php");
global $wpdb;
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
之后,就可以使用方法一里的讀取查詢(xún)語(yǔ)句了。
這個(gè)方法的好處是,可以不用安裝WordPress的PHP系統(tǒng),只需要兩個(gè)文件:wp-config-db.php和wp-db.php就可以進(jìn)行數(shù)據(jù)庫(kù)操作了,數(shù)據(jù)庫(kù)操作語(yǔ)句和原有WordPress系統(tǒng)的語(yǔ)句一樣。
服務(wù)范圍:WordPress搭建、WordPress主題開(kāi)發(fā)、WordPress二次開(kāi)發(fā)、WordPress插件開(kāi)發(fā)
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書(shū)ssl、400電話、
技術(shù)標(biāo)簽:企業(yè)網(wǎng)站、外貿(mào)網(wǎng)站、外貿(mào)商城、其它問(wèn)題
聯(lián)系方式:電話:18696588163 微信同號(hào)