UPDATE *****WordPress的 - 插件自定義模板總是顯示在麪包屑
我發現爲什麼插件是加載在博客頂部的「博客」。我需要用下面的添加到load_main功能
public function load_main(){
$dir = plugin_dir_path(__FILE__);
include ($dir.'/templates/main.php');
exit();
}
不過,我仍然在試圖找出爲什麼麪包屑顯示爲首頁 - >博客。
我是否需要爲自定義模板創建自定義分類和發佈類型?如果是這樣,我如何將它應用於麪包屑的模板。
任何幫助,將不勝感激。
原貼****
我創建了一個重寫規則路由到一個自定義模板。當我激活我的插件時,正在應用重寫規則,但是當我導航到永久鏈接時,我將自定義模板加載到「博客」頁面的頂部。意思是在我的頁面頂部,我看到我創建的main.php模板,後面跟着我所有博客文章的列表。
麪包屑顯示永久鏈接導航到「博客」菜單項。以下是我用於rewrite_rules的代碼並加載了自定義模板。
class ssa_tools {
public function __construct(){
register_activation_hook(__FILE__, array($this,'flush_application_rewrite_rules'));
add_action('template_redirect', array($this,'front_controller'));
add_action('ssa_main', array($this,'load_main'));
add_filter('query_vars', array($this, 'manage_user_routes_query_vars'));
}
public function manage_user_routes() {
add_rewrite_rule('^ssa_tools/([^/]+)/?','index.php?control_action=$matches[1]', 'top');
}
public function manage_user_routes_query_vars($query_vars){
$query_vars[] = 'control_action';
return $query_vars;
}
public function flush_application_rewrite_rules() {
$this->manage_user_routes();
flush_rewrite_rules();
}
public function front_controller(){
global $wp_query;
$control_action = isset ($wp_query->query_vars['control_action']) ? $wp_query->query_vars['control_action'] : '';
switch ($control_action) {
case 'ssa_main':
do_action('ssa_main');
break;
}
public function load_main(){
$dir = plugin_dir_path(__FILE__);
include ($dir.'/templates/main.php');
}
}
我在本地機器上使用的URL是ssa.dev/ssa_tools/ssa_main/。似乎路由發生了兩次,一次是我的模板,然後路由到「博客」頁面。再次,當我看着麪包屑時,它顯示了home - > blog。
任何建議或幫助,將不勝感激。