PHP直接操作WordPress數(shù)據(jù)庫
PHP直接操作WordPress數(shù)據(jù)庫使用WordPress的時候,有時候會有這樣的需求,就是想直接使用WordPress里封裝的數(shù)據(jù)庫操作的類,對WordPress數(shù)據(jù)庫進(jìn)行讀寫查詢等操作,這里就介紹一下具體的使用方法。 方法一:使用wp-load.php 在php文件開頭,加
PHP直接操作WordPress數(shù)據(jù)庫使用WordPress的時候,有時候會有這樣的需求,就是想直接使用WordPress里封裝的數(shù)據(jù)庫操作的類,對WordPress數(shù)據(jù)庫進(jìn)行讀寫查詢等操作,這里就介紹一下具體的使用方法。 方法一:使用wp-load.php 在php文件開頭,加
使用WordPress的時候,有時候會有這樣的需求,就是想直接使用WordPress里封裝的數(shù)據(jù)庫操作的類,對WordPress數(shù)據(jù)庫進(jìn)行讀寫查詢等操作,這里就介紹一下具體的使用方法。
方法一:使用wp-load.php
在php文件開頭,加入如下語句
define( 'WP_USE_THEMES', false );
require_once( $_SERVER[ 'DOCUMENT_ROOT' ] . '/wp-load.php' );
之后,就可以通過操作$wpdb類來進(jìn)行數(shù)據(jù)庫讀寫查詢等操作。舉例如下。
查詢
<?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還會繼續(xù)加載一大堆文件,實(shí)際上,核心文件就只有wp-db.php,如果我們只是進(jìn)行數(shù)據(jù)庫操作,不進(jìn)行其他操作,那么可以只加載wp-db.php這一個文件。
具體方法是:
復(fù)制wp-config.php文件為另一個文件,例如wp-config-db.php,編輯這個文件,將文件結(jié)尾處的require_once(ABSPATH.'wp-settings.php')一行刪除。
將wp-db.php從wp-includes目錄下復(fù)制到根目錄下,編輯根目錄下的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系統(tǒng),只需要兩個文件:wp-config-db.php和wp-db.php就可以進(jìn)行數(shù)據(jù)庫操作了,數(shù)據(jù)庫操作語句和原有WordPress系統(tǒng)的語句一樣。
版權(quán)所有:深圳市網(wǎng)商在線科技有限公司