サポート » テーマ » wp_nav_menu_argsでglobal-nav指定を解除したい

  • 解決済 syntaro

    (@syntarou)


    こんにちは。すいません、URL添付のため、前の投稿の続きにできなくて、新たにポストさせていただきます。

    Lightning Freeのグローバルナビメニューについて、常時子メニューを展開させたいです。
    最悪、自分でスタイルをオーバーライドしてもいいのですが、できませんでした。

    function.phpに以下の記述をしても、global-navという、class指定を解除できませんでした。

    add_filter( 'wp_nav_menu_args', 'modify_nav_menu_args' );
    function modify_nav_menu_args( $args )
    {
    	if( 'global-nav' == $args['theme_location'] )
    	{
    		//$args['theme_location'] = 'whitecat_gmenu';
    		$args['menu_class'] = 'whitecat_gmenu';
    		$args['container_id'] = 'whitecat_gmenu';
    		//https://www.vektor-inc.co.jp/post/wordpress-navigation-replace/
    	}
    
    	return $args;
    }

    theme_locationは、書き換えると、ブロックが出力されませんでしたので、コメントアウトしています。

    このHPのスタイルシートは以下になりますが、
    この添付URLのWEBの上部ナビゲーションメニューについて、
    「教室案内」の「スノーモンキー」以下黄色になっている部分を、
    常に表示させることは可能でしょうか?

    .global-nav {
        width: 100%;
    	overflow: visible !important;
    	font-size: 0;
    	height: 100%;
    
    	display: block;
    	justify-content: center;
    
    	margin: 10px;
    	padding: 10px;
    	flex-direction: row;
    
    	column-gap: 10px;
    	row-gap: 10px;
    	border: solid 10px lihgtblue;
    }
    
    .global-nav  >ul {
    	width: 100%;
    	display: flex;
    	flex-wrap: wrap;
    	align-items: center;
    }
    
    .global-nav  >ul >li {
    	flex-grow: 1;
    	color: white;
        justify-content: center;
    
    	min-width: 100px;
    	max-height: 400px;
    
    	align-items: center;
    
    	border-radius: 50px 20px / 20px 50px;
    	outline: 2px solid lightgreen;
    	background-color: pink;
    
    	font-size: 14px; 
    	
    }
    
    .global-nav ul {
    	border-radius: 50px 20px / 20px 50px;
    }
    
    .global-nav .global-nav-list  .sub-menu .menu-item {
    	max-height: 400px;
    }
    
    @media (max-width: 991.9px) {
       .global-nav-list li .global-nav-name {
    	margin: 12px 0 12px 0 !important; // 上右下左 
    	padding: 0 !important;
      }
    }
    	
    @media (min-width: 992px) {
       .global-nav-list li .global-nav-name {
    	margin: 0px !important;
    	padding: 0 !important;
      }
    }
    /*
    .global-nav a:hover {
    	position: relative;
    	top: +2px;
    	left: +2px;
    	display: block;
    }
    
    .global-nav ul.sub-menu a:hover {
    	position: relative;
    	top: -2px;
    	left: -2px;
    }*/
    
    .global-nav li.menu-item-has-children li.menu-item-has-children li {
    	background-color: yellow;
    }

    また、こちらもお伺いしたいです。

    これは、Lightningに限る話ではなく、WordPress全体の話になりますが、
    “global-nav”のスタイル指定をオーバーライドしたいです。

    一回無効にして、(そのglobal-navの文字が、HTMLに存在しないようにしたい)
    ほかのID、CLASSを指定しなおすことはできますか?

    以上、よろしくお願いしたします。

    ヘルプの必要なページ: [リンクを見るにはログイン]

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 普通にCSSでオーバーライドするのが一番だと思います。

    https://www.vektor-inc.co.jp/post/wordpress-css-customize-2020/#vk-htags-c3fa0aa0-f7af-4028-abe5-09685ec4b164

    トピック投稿者 syntaro

    (@syntarou)

    石川様、お返事どうもありがとうございます。

    下の部分の、display: block;が、効かないんです。

    上の、global-navの、display: block;を、書き換えると、
    表示されるようになりましたが、レイアウトが壊れてしまいました。

    最適な組み合わせが見つけられずに、質問させていただきました。

    お助けください。

    > display: block;が、効かない

    CSSのセレクタの指定が弱いから上書きできていないという事ではないのですか?
    セレクタの強さを強くする方法は上記リンクに記載の内容を確認ください。

    > display: block;を、書き換えると、
    表示されるようになりましたが、レイアウトが壊れてしまいました。

    .vk-menu-acc ul.acc-child-close {
        max-height: 80vh !important;
        opacity: 1 !important;
    }

    無料配布で無料サポートだと僕も生きていけないので僕の回答はここまでとさせていただきます。

    トピック投稿者 syntaro

    (@syntarou)

    ありがとうございます;;。

    大変お世話になっています。

    対応できました。

    ほぼ、内部ハッキングみたいになってしまいましたので、
    Lightning様のほか数あるテーマのVERUPに、
    こちらが対応して追従できるかなど、気になってはいます。

    ちなみに、0から、ナビメニューを実装する場合には、以下の手順をとり、
    あとで、すべてのCSSを実装することで可能になる様子でした。

    これも、後学のため、のちほどチャレンジしてみたいと思います。まだまだ、私は時間かかりそうです

    add_action( 'after_setup_theme', 'register_whitecat_primary2_menu' );
    
    function register_whitecat_primary2_menu() {
      register_nav_menu( 'primary2', __( 'Primary Menu 2', 'メニューその2です' ) );
    }
    
    add_action('wp_body_open', 'whitecat_body_open2');
    
    function whitecat_body_open2()  {
    	$defaults = array(
    		'menu' => 'primary2',
    		'menu_class' => 'global-nav2',
    		'container' => 'div',
    		'container_class' => 'menu-global-nav-container',
    		'container_id' => 'global-nav2',
    		'before' => '',
    		'after' => '',
    		'link_before' => '',
    		'link_after' => '',
    		'echo' => true,
    		'depth' => 0,
    		'walker' => '',
    		'theme_location' => '',
    		'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
    	);
    	wp_nav_menu( $defaults );
    }

    サポートのサブスクや、それを含むレンタルサーバー(KATAWARA)もあるのですね、、、
    失礼します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「wp_nav_menu_argsでglobal-nav指定を解除したい」には新たに返信することはできません。