0

ここでの目標は、幅が 768 ピクセルを超えるデバイスのクリック可能なリンクとして機能し、小型デバイスのデフォルトの動作を保持するサブアイテムを持つ Wordpress ブーストラップ メイン メニューのトップ レベル アイテムを作成することです。

navwalker.php ファイルの 83 行目あたりに次のコードがあります。

// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
    $atts['href'] = '#';
    $atts['data-toggle'] = 'dropdown';
    $atts['class'] = 'dropdown-toggle';
}

通常の画面でリンクをクリックできるようにするには、コードを変更する必要がありますが、else ステートメントを追加して、デフォルトの動作を保持する必要があります。たとえば、次のようになります。

// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) { 
    if ( $windowwidth < 768) {
        $atts['href'] = '#';
        $atts['data-toggle'] = 'dropdown';
        $atts['class'] = 'dropdown-toggle';
    } else {
        $atts['href'] = ! empty( $item->url ) ? $item->url : ''; 
        //$atts['data-toggle'] = 'dropdown';
        $atts['class'] = 'dropdown-toggle';
    }       
}

問題は、おそらく JavaScript で $windowwidth を取得して、PHP の if/else 句で使用できるようにする方法です。

4

0 に答える 0