モバイル ビューにドロップダウン (選択) メニューを追加したい Wordpress テーマがあります。コードを header.php、function.php、および custom.js ファイルに jQuery に追加します。
WordPressの「mainNav」メニューセクションにメニューが存在する場合、それは非常にうまく機能します(URLをリンクし、クリック可能です)。
しかし、メニューをオフにすると、Developer Debug Bar プラグインに 2 つの通知が届きます。45 行目と 50 行目の「Notice: Trying to get properties on a non object」。
ここに私のコードがあります: http://i.stack.imgur.com/uNqru.png
ナビゲーションメニューが空だったり、値が空だったり、nullだったりしたのかもしれませんが、ハックをどのように修正したのかわかりません。誰でも私を助けてもらえますか?ありがとうございました!
//DropDown Select Navigation for the Main Menu
function wp_nav_menu_dropdown( $args = array() ) {
$defaults = array(
'theme_location' => '',
'menu_class' => 'mainNav',
);
$args = wp_parse_args( $args, $defaults );
if ( ( $menu_locations = get_nav_menu_locations() ) && isset( $menu_locations[ $args['theme_location'] ] ) ) {
$menu = wp_get_nav_menu_object( $menu_locations[ $args['theme_location'] ] );
$menu_items = wp_get_nav_menu_items( $menu->term_id );
?>
<select id="menu-<?php echo $args['theme_location'] ?>" class="<?php echo $args['menu_class'] ?>">
<option value=""><?php _e( 'Navigation Menu' ); ?></option>
<?php foreach( (array) $menu_items as $key => $menu_item ) : ?>
<option value="<?php echo $menu_item->url ?>"><?php echo $menu_item->title ?></option>
<?php endforeach; ?>
</select>
<?php
}
else {
?>
<select class="menu-not-found">
<option value=""><?php _e( 'Menu Not Found' ); ?></option>
</select>
<?php
}
}