因此,我們使用 ACF 在我們的自定義 wordpress 主題中添加了一個自定義維護頁面 - 但我們必須以某種方式排除wp-login.php頁面,否則如果維護開啟,我們將無法登錄我們的網站,關于我們如何提供任何建議會這樣做嗎?這是我們到目前為止的代碼:
///////////// Wordpress Maintenance Mode ///////////
function maintenance_mode() {
$context = Timber::get_context();
Timber::render('maintenance.twig', $context);
die();
}
$config = get_field('website', 'option');
if($config["status"]) {
add_filter( 'wp_die_handler', '_custom_wp_die_handler' );
}else {
if(!is_user_logged_in() && !is_admin()) {
maintenance_mode();
}
}
function _custom_wp_die_handler( $message, $title = '', $args = array() ) {
maintenance_mode();
}
uj5u.com熱心網友回復:
使用$wp->request您應該能夠為wp-login頁面添加一個排除項到您的if(!is_user_logged_in() && !is_admin()) {陳述句中,以防止代碼在那里加載。
您還需要在函式呼叫中使用 home_url( $wp-request )。代碼如下:
add_action('pre_get_posts', 'maintenance_mode_logic');
function maintenance_mode_logic() {
global $wp;
$config = get_field('website', 'option');
if($config["status"] == 1) {
echo 'hello';
exit();
add_filter( 'wp_die_handler', '_custom_wp_die_handler' );
}else {
if(!is_user_logged_in() && !is_admin() && home_url( $wp->request ) != wp_login_url()) {
maintenance_mode();
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322924.html
標籤:php WordPress的 功能 枝条 木材
