• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Как сделать отдельные страницы для Авторизации и Регистрации пользователей?

SashaChina

Новичок
Доброго времени суток всем!
Интересует вопрос - как сделать Авторизацию и Регистрацию на отдельных страницах? Вебсайт - saborica.com (на 4-х языках).


В PHP не разбираюсь, могу поменять какие-либо переменные местами.
Вот код из файла top-bar.php (черная полоса сверху с корзиной и ссылками на формы авторизацию и регистрацию):

Код:
<?php global $woocommerce; ?>

    <div class="top-bar">
        <div class="container">
        
            <div class="padder">
            
                <div class="left">
            
                    <?php get_template_part( 'library/template-parts/social-links' ); ?>
                
                </div>
            
                <div class="right">
                
                    <?php
                    if ( shopstar_is_woocommerce_activated() && get_theme_mod( 'shopstar-header-shop-links', customizer_library_get_default( 'shopstar-header-shop-links' ) ) ) {
                    ?>
                    
                        <div class="account-link">
                        <?php if ( is_user_logged_in() ) { ?>
                            <a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('My Account','shopstar'); ?>"><?php _e('My Account','shopstar'); ?></a>
                        <?php } else { ?>
                            <a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Log In','shopstar'); ?>"><?php _e('Log In','shopstar'); ?></a>
                        <?php } ?>
                        </div>
                    <!-- My code -->   
                    
            <div class="account-link">   
                       <?php if ( is_user_logged_in() ) { ?>   
                        <a href="<?php echo wp_logout_url( wc_get_page_permalink( 'myaccount' ) );?>" title="<?php _e('Logout','shopstar'); ?>"><?php _e('Log Out','shopstar'); ?></a>
                    <?php ?>
                    <?php } else { ?> 
                    <a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Register','shopstar'); ?>"><?php _e('Register','shopstar'); ?></a>
                    <?php } ?>   
                    </div>   

                        
                        <div class="header-cart">
                            <a class="header-cart" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'shopstar'); ?>">
                            <span><?php _e('Cart/Checkout', 'shopstar'); ?></span> <i class="fa fa-shopping-cart"></i>
                            </a>
                        </div>
                        
                    <?php
                    } else {
                    ?>
                        <div class="info-text"><?php echo wp_kses_post( get_theme_mod( 'shopstar-header-info-text', customizer_library_get_default( 'shopstar-header-info-text' ) ) ) ?></div>
                    <?php
                    }
                    ?>
                </div>
            
                <div class="clearboth"></div>
            
            </div>
            
        </div>
    </div>
И еще код из form-login.php, который выводит эти формы

Код:
<?php
/**
 * Login Form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-login.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 2.6.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

?>

<?php wc_print_notices(); ?>

<?php do_action( 'woocommerce_before_customer_login_form' ); ?>

<?php if ( get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' ) : ?>

<div class="u-columns col2-set" id="customer_login">

    <div class="u-column1 col-1">

<?php endif; ?>

        <h2><?php _e( 'Login', 'woocommerce' ); ?></h2>

        <form method="post" class="login">

            <?php do_action( 'woocommerce_login_form_start' ); ?>

            <p class="woocommerce-FormRow woocommerce-FormRow--wide form-row form-row-wide">
                <label for="username"><?php _e( 'Username or email address', 'woocommerce' ); ?> <span class="required">*</span></label>
                <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" id="username" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" />
            </p>
            <p class="woocommerce-FormRow woocommerce-FormRow--wide form-row form-row-wide">
                <label for="password"><?php _e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label>
                <input class="woocommerce-Input woocommerce-Input--text input-text" type="password" name="password" id="password" />
            </p>

            <?php do_action( 'woocommerce_login_form' ); ?>

            <p class="form-row">
                <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
                <input type="submit" class="woocommerce-Button button" name="login" value="<?php esc_attr_e( 'Login', 'woocommerce' ); ?>" />
                <label for="rememberme" class="inline">
                    <input class="woocommerce-Input woocommerce-Input--checkbox" name="rememberme" type="checkbox" id="rememberme" value="forever" /> <?php _e( 'Remember me', 'woocommerce' ); ?>
                </label>
            </p>
            <p class="woocommerce-LostPassword lost_password">
                <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?', 'woocommerce' ); ?></a>
            </p>

            <?php do_action( 'woocommerce_login_form_end' ); ?>

        </form>

<?php if ( get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' ) : ?>

    </div>

    <div class="u-column2 col-2">

        <h2><?php _e( 'Register', 'woocommerce' ); ?></h2>

        <form method="post" class="register">

            <?php do_action( 'woocommerce_register_form_start' ); ?>

            <?php if ( 'no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?>

                <p class="woocommerce-FormRow woocommerce-FormRow--wide form-row form-row-wide">
                    <label for="reg_username"><?php _e( 'Username', 'woocommerce' ); ?> <span class="required">*</span></label>
                    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" id="reg_username" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" />
                </p>

            <?php endif; ?>

            <p class="woocommerce-FormRow woocommerce-FormRow--wide form-row form-row-wide">
                <label for="reg_email"><?php _e( 'Email address', 'woocommerce' ); ?> <span class="required">*</span></label>
                <input type="email" class="woocommerce-Input woocommerce-Input--text input-text" name="email" id="reg_email" value="<?php if ( ! empty( $_POST['email'] ) ) echo esc_attr( $_POST['email'] ); ?>" />
            </p>

            <?php if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) ) : ?>

                <p class="woocommerce-FormRow woocommerce-FormRow--wide form-row form-row-wide">
                    <label for="reg_password"><?php _e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label>
                    <input type="password" class="woocommerce-Input woocommerce-Input--text input-text" name="password" id="reg_password" />
                </p>

            <?php endif; ?>

            <!-- Spam Trap -->
            <div style="<?php echo ( ( is_rtl() ) ? 'right' : 'left' ); ?>: -999em; position: absolute;"><label for="trap"><?php _e( 'Anti-spam', 'woocommerce' ); ?></label><input type="text" name="email_2" id="trap" tabindex="-1" autocomplete="off" /></div>

            <?php do_action( 'woocommerce_register_form' ); ?>
            <?php do_action( 'register_form' ); ?>

            <p class="woocomerce-FormRow form-row">
                <?php wp_nonce_field( 'woocommerce-register', 'woocommerce-register-nonce' ); ?>
                <input type="submit" class="woocommerce-Button button" name="register" value="<?php esc_attr_e( 'Register', 'woocommerce' ); ?>" />
            </p>

            <?php do_action( 'woocommerce_register_form_end' ); ?>

        </form>

    </div>

</div>
<?php endif; ?>

<?php do_action( 'woocommerce_after_customer_login_form' ); ?>
Если кто-то сможет помочь как выводить эти формы по отдельности - премного благодарен. Заранее спасибо!
 

SashaChina

Новичок
Спасибо за совет! Я установил плагин Woocommerce Login / Signup Lite. Теперь возник такой вопрос - как вставить правильно ссылки на эти страницы в меню?


Я имею в виду, на что нужно поменять значения woocommerce_myaccount_page_id (в коде top-bar.php в первом посте)? И где прописать это?
Например, если я напишу woocommerce_login_page_id , как система поймет, что нужно показать страницу с формой авторизации?
 
Сверху Снизу