在WordPress表单上添加指向php字段文本的链接

时间:2022-01-02 作者:Jeovanny

我买了一个wordpress模板,但开发人员说他们不能帮我做我需要的。

该主题集成了一个酒店预订系统,该表单为“放置”用户电子邮件提供了一个字段,但是该选项被禁用,只会显示一条文本,上面写着“需要登录”,但当我单击那里时,什么也没有发生。

我想email字段至少应该把我带到一个页面(可能是用户注册),或者至少这是我希望发生的事情。

我一直在查看该表单的PHP代码,但我真的不知道该怎么做,因为我不处理PHP,我不知道如何解决这个问题。

我曾多次尝试通过添加a href=来解决这个问题,但什么都没有发生。

有没有人可以帮助我或告诉我该怎么做?

这是表单上php字段的代码:

<span class="mkdf-input-email">
                    <label><?php esc_html_e( \'Email:\', \'mkdf-hotel\' ) ?></label>
                    <input type="text" class="mkdf-res-email" name="user_email" placeholder="<?php esc_attr_e( \'Need to be logged in\', \'mkdf-hotel\' ) ?>" disabled value="<?php echo esc_attr($email) ?>" />                    </span>
我想添加此url链接(https://www.mayanhills.com/cuenta-de-usuario) 在“需要登录”文本字段中。

如果要执行此操作,请通过以下页面链接查看表单:

http://www.mayanhills.com/hotel-room/habitacion-sencilla/

对不起,我的英语,希望有人能理解并帮助我。

非常感谢你

2 个回复
SO网友:LaJennyLove

我认为您的网站工作正常,因为:

我看到你看到的了,没有办法预订房间。Bookinghttp://www.mayanhills.com/registro-de-nuevo-usuario/, 有一扇像这样的窗户Form.Login formenter image description here我认为它工作得很好,现在如果你想更改它,或者至少发送到注册表,你应该用PHP修改如下内容。

<?php if ( is_user_logged_in() ) { ?>
<span class="mkdf-input-email">
    <label><?php esc_html_e( \'Email:\', \'mkdf-hotel\' ) ?></label>
    <input type="text" class="mkdf-res-email" name="user_email" placeholder="<?php esc_attr_e( \'Need to be logged in\', \'mkdf-hotel\' ) ?>" disabled value="<?php echo esc_attr($email) ?>" />
</span>
<?php } else { ?>
    <a href="<?php echo esc_url( wp_login_url( get_permalink() ) ); ?>" class="mkdf-res-email" alt="<?php esc_attr_e( \'Login\', \'textdomain\' ); ?>"><?php _e( \'Login\', \'textdomain\' ); ?></a>
<?php } ?>
我希望这对你有帮助;D

UPDATE

用你发给我的代码,我做到了:

<div class="mkdf-hotel-room-reservation" data-room-id="<?php echo get_the_ID(); ?>">
    <form id="mkdf-hotel-room-form" method="POST">
        <?php wp_nonce_field(\'mkdf_hotel_room_booking_form\', \'mkdf_hotel_room_booking_form\'); ?>
        <div class="mkdf-grid-row">
        
        <!-- New code -->
        <?php if ( is_user_logged_in() ) : // Verify if current user is logged in, if so; show the input with the email. ?>
            <div class="mkdf-grid-col-12">
                <span class="mkdf-input-email">
                    <label><?php esc_html_e( \'Email:\', \'mkdf-hotel\' ) ?></label>
                    <input type="text" class="mkdf-res-email" name="user_email" placeholder="<?php esc_attr_e( \'Need to be logged in\', \'mkdf-hotel\' ) ?>" disabled value="<?php echo esc_attr($email) ?>" />
                </span>
            </div>
        <?php elseif: // In case the current user is not known, show the registration link.  ?>
            <style>
                /* If possible, move these styles to the styles.css */
                .mkdf-unkown-user{
                    width: 100%;
                    margin: 0;
                    padding: 12px 40px;
                    font-family: inherit;
                    font-size: 15px;
                    line-height: 30px;
                    font-weight: inherit;
                    color: #afafaf;
                    background-color: transparent;
                    border: 1px solid #555;
                }
            </style>
            <div class="mkdf-grid-col-12">
                <a href="<?php bloginfo(\'descriurlption\'); ?>/registro-de-nuevo-usuario/" class="mkdf-unkown-user" alt=""><?php _e( \'Login\', \'textdomain\' ); ?></a>
            </div>
        <?php endif; ?>
        <!-- End new code -->
           

SO网友:Pat Gilmour

您需要检查输入字段是否已禁用。这意味着用户未登录。

如果它被禁用,那么您可以使用jQuery向容器添加一个链接,单击该链接后,用户将进入注册/登录页面。

将此javascript/jQuery放在页面底部以实现以下目的:

<script>
    jQuery(document).ready(function ($) {
        if ($("input.mkdf-res-email").prop(\'disabled\')) {
            $("span.mkdf-input-email").on(\'click\', function () {
                window.location.replace(\'http://www.mayanhills.com/registro-de-nuevo-usuario/\');
            });
        }
    });
</script>