2016-07-21 3 views
0

Я пытался заменить устаревший плагин на моем сайте WordPress на основе подписки, который до сих пор давал мне возможность вставлять мою форму входа на главную страницу с возможностью для формы внутри выпадающего меню, которое можно переключить, чтобы быть открытым и закрытым (и оно первоначально отображается закрытым, когда сайт загружается впервые).Создайте функцию раскрытия jQuery для формы входа

Что я хочу: это фраза («Войти & Сведения об учетной записи»), которая при щелчке отображает выпадающий список, содержащий форму входа; и при повторном нажатии снова сворачивает/закрывает выпадающий список.

Я нашел следующее на форуме WordPress (https://wordpress.org/support/topic/add-custom-login-form-to-navigation?replies=3#post-8649379) и скорректировал его в соответствии с моими потребностями.

Я добавил в файл functions.php моего ребенка-темы:

jQuery(function() { 
    jQuery('#form-toggle').click(function() { 
     jQuery('#login-form').toggle(); 
    }); 
}); 

я добавил в домашнюю страницу:

<div id="form-toggle">Login & Account Details</div> 
<div id="login-form"> 
[login_form] 
</div> 

я добавил в пользовательских CSS:

#login-form { 
display: none; 
} 

#form-toggle { 
cursor: pointer; 
} 

Однако, когда я внедрил его, он отобразил «Войти & Сведения о счете» и форма входа была также видна по умолчанию. Когда нажата кнопка «Вход в систему &», раскрывающийся список сворачивается/закрывается, а при повторном нажатии падает.

Есть ли способ использовать приведенный выше код, но настройте его так, чтобы раскрывающееся меню не отображалось по умолчанию, но вместо этого появляется только после того, как вы нажмете на кнопку «Login &« Сведения об учетной записи »?

Или существует другой способ выполнения того, что я пытаюсь сделать? Я очень, очень новичок в jQuery. Спасибо вам за помощь!

+0

Ну, когда я реализовал это в [JSFiddle] (https://jsfiddle.net/1xp6bhgc/) он работает правильно! – Himanshu

ответ

1

Заменить

jQuery(function() { 
    jQuery('#form-toggle').click(function() { 
     jQuery('#login-form').toggle(); 
    }); 
}); 

С

jQuery(document).ready(function(){ 
     jQuery('#login-form').hide(); 
     jQuery('#form-toggle').click(function() { 
      jQuery('#login-form').toggle(); 
     }); 
    }); 
+1

Пожалуйста, сообщите больше информации о вашем ответе. –

+0

@ Микки Спасибо! Работает отлично! FYI, чтобы иметь возможность использовать его в моей дочерней теме. Файл functions.php в WordPress Мне пришлось настроить выше: 'add_action ('wp_footer', 'login_toggle'); function login_toggle() {?>

+0

Привет @Jutta, Лучше использовать функцию wp_enque_script(), чтобы включить Javascripts вместо wp_footer – Mickey

Смежные вопросы