Модератор
Юрій
(@yube)
выводит форму входа на сайт перед заголовком виджета. Почему?
Потому что функция wp_login_form() по умолчанию выводит форму, а не возвращает ее html.
@yube напрашивается вопрос — как решить проблему? echo тоже не подходит
или в div её поместить?
Модератор
Юрій
(@yube)
напрашивается вопрос — как решить проблему?
Напрашивается ответ — почитать документацию 🙂
wp_login_form( array('echo'=>false) );
@yube . я наоборот прописал true )
function regin_func ( $attr, $shortcode_content = null )
{
echo wp_login_form( array(
'echo' => true,
'redirect' => site_url( $_SERVER['REQUEST_URI'] ),
'form_id' => 'logining',
'label_username' => __( 'Имя пользователя' ),
'label_password' => __( 'Пароль' ),
'label_remember' => __( 'Запомнить меня' ),
'label_log_in' => __( 'Войти' ),
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'remember' => true,
'value_username' => NULL,
'value_remember' => true
) );
}
а как вообще правильно — return ведь? или вообще без этого слова можно?
-
Ответ изменён 5 лет, 3 месяца назад пользователем jurvrn.
Модератор
Юрій
(@yube)
Как-то так:
<?php
add_shortcode('regin', 'regin_func');
function regin_func ()
{
return wp_login_form( array('echo'=>false) );
}
?>
@yube, спасибо разобрался. Шорткод только с return в даном случае работает.
Новая проблема сопутствует — создам тему
Модератор
Юрій
(@yube)
Шорткод только с return в даном случае работает.
Во всех случаях. Только return. А еcho (явное или неявное) вылезет перед контентом.