お世話になっております。
テーマ「twentyeleven」にて
固定ページのページテンプレート page-template.phpのみに、下記の関数を適用させて、
twentyelevenのスタイルやカスタマイザーを適用しないようにしたいと思っています。
function.php
1// wp_headの不要なコードを削除する 2function my_delete_plugin_files() {wp_dequeue_style('twentyeleven-block-style');} 3add_action( 'wp_enqueue_scripts', 'my_delete_plugin_files' ); 4 5 6// カスタマイザーが生成するcssを無効にする 7add_action( 'after_setup_theme', 'my_remove_custom_background', 11); 8function my_remove_custom_background() { 9 remove_theme_support( 'custom-background'); 10} 11
通常は下記の条件分岐で適用できると思うのですが、
function.phpに記述する際はどのようするとよいかわからずにおります。
function.php
1 2function switch_twentyeleven_style() { 3 if( !is_page_template('page-template.php')){ 4 5 // page-2019でない場合はデフォルトテンプレートを読み込む 6 wp_enqueue_style( 'twentyeleven_style', get_stylesheet_directory_uri() . '/style.css' ); 7 8 } else { 9 // page-2019の場合 10 11 function my_delete_plugin_files() {wp_dequeue_style('twentyeleven-block-style');} 12 add_action( 'wp_enqueue_scripts', 'my_delete_plugin_files' ); 13 14 15 add_action( 'after_setup_theme', 'my_remove_custom_background', 11); 16 function my_remove_custom_background() { 17 remove_theme_support( 'custom-background'); 18 } 19 20 } 21} 22add_action('wp_enqueue_scripts', 'switch_twentyeleven_style'); 23
これでテンプレートの条件分岐はできるようになったのですが、
function my_delete_plugin_files() {wp_dequeue_style('twentyeleven-block-style');} add_action( 'wp_enqueue_scripts', 'my_delete_plugin_files' ); add_action( 'after_setup_theme', 'my_remove_custom_background', 11); function my_remove_custom_background() { remove_theme_support( 'custom-background'); }
の部分で
Fatal error: Cannot redeclare
というエラーでてうまく動作しません。
※
関数の二重定義エラーなので、function.phpの他の部分に
function my_delete_plugin_files() function my_remove_custom_background()
がないか確認してみましたが見つかりませんでした。
条件分岐のコードを入れないで上記を入れると動作します。
どのように修正すると動作するでしょうか。
どうかお力をおかしください。
よろしくおねがいします。
回答3件
あなたの回答
tips
プレビュー