2017-03-21 5 views
-1

UPDATEが*****Wordpressの - カスタムテンプレートをプラグインすると、常にプラグインは、ブログの上にロードされた理由を

私が見つけたパンくずの「ブログ」を示しています。私はしかし、私はまだパンくずがホーム - >ブログとして示した理由を把握しようとしていますload_main機能

public function load_main(){ 
$dir = plugin_dir_path(__FILE__);   
include ($dir.'/templates/main.php'); 
exit(); 
} 

に追加された次の必要がありました。

カスタムテンプレートのカスタムタクソノミーと投稿タイプを作成する必要がありますか?もしそうなら、ブレッドクラムのテンプレートにどのように適用しますか?

ご協力いただければ幸いです。

ORIGINAL POST ****

私は、カスタムテンプレートにルーティングする書き換えルールを作成しました。プラグインを有効にすると書き換えルールが適用されますが、パーマリンクに移動すると「ブログ」ページの上にカスタムテンプレートが読み込まれます。私のページの一番上にある意味で、私が作成した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/です。ルーティングが2回起こっているようです。テンプレート用に1回、次に「ブログ」ページにルーティングしています。繰り返しますが、パンくずリストを見ると、ホーム - >ブログが表示されます。

ご意見やご協力をいただければ幸いです。

答えて

0

私が使っていたテーマ(盛んなテーマ)は、ブレッドクラムにデフォルトの「ブログ」を適用したコーディングがありました。作成したカスタムプラグインが独自のテンプレートページを生成したので、テーマがデフォルトを引き起こしていました。

解決するには、私は子テーマを追加し、必要に応じてブレッドクラムコードを書き換えました。

関連する問題