私は便利なレスポンシブテーマフレームワーク(Reverie)を使って作業しています、そして私は自分のテーマをChildテーマを使って正しい方法で開発しています。 Parentテーマは、IDが「Footer」のサイドバーを呼び出し、それにいくつかの基本スタイルを適用します。私はこれを私の子供のテーマで調整したいので、おそらくそれをフィルタリングすることを検討していましたが、結局私はサイドバーを登録抹消してchildthemeのfunctions.phpの適切なクラスに新しいものを再登録するのが最も簡単だろうと決心。
これは、サイドバーを宣言する親テーマのコードです。
$sidebars = array('Footer');
foreach ($sidebars as $sidebar) {
register_sidebar(array('name'=> $sidebar,
'id' => 'Footer',
'before_widget' => '<div class="large-3 columns"><article id="%1$s" class="panel widget %2$s">',
'after_widget' => '</article></div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
}
それでも、サイドバーの登録を解除することはできません。私はそれを試してみました、以下のコードで、しかし運なしで..
// Unregisters Reverie footer sidebar
function remove_footer(){
unregister_sidebar( 'Footer' );
}
add_action ('widgets_init, remove_footer', 11);
// Registers new footer array with proper classes
$sidebars = array('Childfeet');
foreach ($sidebars as $sidebar) {
register_sidebar(array('name'=> $sidebar,
'id' => 'Childfeet',
'before_widget' => '<div class="small-12 medium-6 large-3 columns"><article id="%1$s" class="panel widget %2$s">',
'after_widget' => '</article></div>',
'before_title' => '<h4>',
'after_title' => '</h4>'
));
}
適切なクラスを持つ私の新しいサイドバーはもちろん作成されます、しかしそれは私のremove_footer()がそれの仕事をしないようです。何か案は?
私はフォーラムの他のすべての「登録解除サイドバー」の投稿をここでチェックアウトしましたが、これらはすべて私が私のコードで見ることができない関数にエラーを含んでいます。
お時間をいただきありがとうございます。
あなたの助けフェラをありがとう! after_setup_theme()関数は私にとっては新しいものでしたが、おそらくこれから有用になるでしょう。残念ながら、私の間違いはもっと単純なものでした。 unregister_sidebar関数を呼び出したとき.
add_action ('widgets_init, remove_footer', 11);
私は各機能を囲む適切な引用符を逃していました。読むべきです。
add_action ('widgets_init', 'remove_footer', 11);
期待どおりフッターサイドバーを削除します。 :-(
私がそれを追跡するのを手伝ってくれてありがとう!
このようにしたくないサイドバーの登録を解除するには、after_setup_themeフックを使用することが可能です。
function go_away_extra_sidebar(){
unregister_sidebar( 'Footer' );
}
add_action( 'after_setup_theme', 'go_away_extra_sidebar' );
ハッピーコーディング、
クヘンヌーカカオ