2014-10-30 114 views
2

我想從我的functions.php使用init鉤子執行更新查詢。在WordPress執行更新查詢從functions.php

這裏是我的代碼

add_action('init', 'process_query'); 
function process_query(){ 
$wpdb->query("UPDATE $table_name SET status='inactive' WHERE CURRENT_DATE NOT BETWEEN startdate AND enddate"); 
} 

現在這個查詢工作正常,當我直接上的phpmyadmin的SQL部分運行它。但是,如果我把它放到functions.php中,主題就會消失,我會得到一個空白的網頁。 我已經檢查過「update」查詢的WordPress codex語法,但它需要數組。所以它不會以這種方式爲我工作。

+0

你在哪裏設置'$ table_name'變量? – Jerodev 2014-10-30 12:41:48

+0

空白頁面意味着找到語法錯​​誤 – 2014-10-30 12:45:19

+0

@MikeB 可能有語法錯誤,但我沒有得到它在哪裏。我只是複製粘貼我正在工作的功能。您能否指出語法錯誤可能在哪裏?因爲只要我從我的functions.php中刪除這段代碼,網站就會重新開始工作。所以無論什麼問題,它在這一點的代碼... – 2014-10-30 12:48:42

回答

4

使用下面的代碼

add_action('init', 'process_query'); 
    function process_query(){ 
    global $wpdb; 
    $table_name = $wpdb->prefix . 'enter_your_table_name_here'; 
    $wpdb->query("UPDATE $table_name SET status='inactive' WHERE CURRENT_DATE NOT BETWEEN startdate AND enddate"); 
    } 
+0

謝謝..這個代碼工作我的我。 – 2014-11-01 08:44:37