テーマ Lightning では、管理画面のテーマのカスタマイズからサイドバーの表示位置(デフォルトではは右表示)を指定することができます。
これは、管理画面の【サイドバーの位置(PC閲覧時)】の左にチェックを入れることによって、plugins/lightning-advanced-unit/inc/sidebar-position.php で以下の設定がされます。
/*-------------------------------------------*/ /* Position Change /*-------------------------------------------*/ add_action( 'wp_head', 'lightning_adv_unit_sidebar_position_custom', 2 ); function lightning_adv_unit_sidebar_position_custom(){ $options = get_option( 'lightning_theme_options' ); if ( isset($options['sidebar_position'] ) && $options['sidebar_position'] === "left" ){ $custom_css = "@media (min-width: 992px) { .siteContent .subSection { float:left;margin-left:0; } .siteContent .mainSection { float:right; } }"; wp_add_inline_style( 'lightning-design-style', $custom_css ); } }
その結果、ソースコードのインラインに以下のスタイルが埋め込まれ、サイドバーが左に表示されます。
@media (min-width: 992px) { .siteContent .subSection { float:left; margin-left:0; } .siteContent .mainSection { float:right; } }
これは2016年の8月から追加された機能で、とても便利でありがたいのです。
が
「トップページでは右、それ以外のページでは左に表示してね♥」
なんてことを言われると頭がイタいのであります。
方法としては…
① function.php で、function lightning_adv_unit_sidebar_position_custom() を再定義する
②スタイルシートの中で、subSection と mainSection を上書き設定する
なども考えられますが
header.php の中で
<?php global $lightning_theme_options; $lightning_theme_options = get_option('lightning_theme_options'); ?> テーマオプションを読み込んでいる ↑ こことのすぐ下に <!-- サイドバー設定 --> <?php add_action( 'wp_head', 'lightning_adv_unit_sidebar_position_custom_caseby', 2 ); function lightning_adv_unit_sidebar_position_custom_caseby(){ $options = get_option( 'lightning_theme_options' ); if ( is_home() || is_front_page() ) : $custom_css = "@media (min-width: 992px) { .siteContent .subSection { float:right; } .siteContent .mainSection { float:left; } }"; wp_add_inline_style( 'lightning-design-style', $custom_css ); endif; } ?> を挿入してやれば良いと思います。 その際に <?php if ( is_home() || is_front_page() ) : ?> <?php endif; ?> のような条件分岐をすれば良いのでしょうね。
https://lightning.nagoya/ja/archives/adv_1_3_0