2016-07-05 61 views
-1

我正在WP插件重定向用戶啓用維護時;WordPress的插件:而不是重定向,使用包括

if(! is_page(intval($maintenance_options['page']))) { 
    wp_redirect(get_permalink($maintenance_options['page'])); exit; 
} 

我寧可不將用戶重定向,但include頁面。這個例子是完全錯誤的,但只是爲了清除它:

include($maintenance_options['page']); 

...所以用戶停留在索引,而不是一個斜槓頁。

這是可能的,它是安全的,我該如何執行它?

回答

0

有一個action hook for this purpose稱爲template_include:WordPress的包括該預定的模板文件之前

該濾波器鉤立即執行。這可以用來覆蓋WordPress的默認模板行爲。

一個例子:

add_filter('template_include', 'maintenance_template', 99); 
function maintenance_template($template) { 
    if(! is_page(intval($maintenance_options['page']))) { 
     $new_template = locate_template(array('path-to-template-relative-to-theme-root.php')); 
     if ('' != $new_template) { 
      return $new_template ; 
     } 
    } 
    return $template; 
} 
+0

好知道了,謝謝。它們與'path-to-template-relative-to-theme-root.php'是什麼意思? –

+0

我不確定誰是「他們」。我把它寫成佔位符。您需要將該路徑替換爲模板的實際路徑。該模板路徑與主題根目錄相關。 – rnevius

+0

所以這也讓我給用戶一個空白頁面模板?這將是我需要的東西! –