• <?php
    
    add_shortcode('regin', 'regin_func');
    
    function regin_func ( $attr, $shortcode_content = null )
    {
    	return wp_login_form( $args );
    }
    
    ?>

    шорткод в текстовом виджете выводит форму входа на сайт перед заголовком виджета. Почему?

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Юрій

    (@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 (явное или неявное) вылезет перед контентом.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Шорткод не правильно выводит форму для входа на сайт» закрыта для новых ответов.