wordpress模板文件中的Php javascript冲突

wordpress模板文件中的Php javascript冲突,javascript,php,wordpress,Javascript,Php,Wordpress,我已经为我的wordpress网站建立了一个联系表单。有四个字段-姓名、电子邮件、主题、消息。对于已登录的用户,我希望他们的姓名和电子邮件自动填写在表单中各自的字段中,并且这些姓名、电子邮件字段将被禁用,以便他们进行编辑。对于未登录的用户,他们将手动输入姓名、电子邮件字段。我已将此代码放在页面模板文件中- <?php $current_user = wp_get_current_user(); $user_email = $current_user->use

我已经为我的wordpress网站建立了一个联系表单。有四个字段-姓名、电子邮件、主题、消息。对于已登录的用户,我希望他们的姓名和电子邮件自动填写在表单中各自的字段中,并且这些姓名、电子邮件字段将被禁用,以便他们进行编辑。对于未登录的用户,他们将手动输入姓名、电子邮件字段。我已将此代码放在页面模板文件中-

    <?php

    $current_user = wp_get_current_user();
    $user_email = $current_user->user_email;
    $user_name = $current_user->user_firstname.' '.$current_user>user_lastname;

    if ( 0 != $current_user->ID ) {

     echo '<script type="text/javascript">
     document.getElementById("curUserName").value = "'.$user_name.'";
     document.getElementById("curUserName").disabled = "disabled";
     document.getElementById("curUserEmail").value = "'.$user_email.'";
     document.getElementById("curUserEmail").disabled = "disabled";
     </script>';
     }
     ?>

但此代码正在禁用两个用户(已登录和未登录)的名称、电子邮件字段。我已经通过if条件控制了脚本。但javascript仍然适用于这两个用户。请告诉我哪里出错了

这是html的表单-

    <form action="/success.php" method="post">
<label>Name :</label><br>
<input type="text" id="curUserName" name="sender_name" required><br>
<label>Email :</label><br>
<input type="text" id="curUserEmail" name="sender_email" required><br>
<label>Subject :</label><br>
<input type="text" name="sender_sub"><br>
<label>Message</label><br>
<textarea name="sender_msg" rows="4" cols="60" required></textarea><br>
<input type="submit" name="submit" value="Send">
</form>

名称:

电子邮件:

主题:

消息


不要在php中使用javascript。这是个坏习惯

尝试在输入中使用值标记,检查用户是否使用三元运算符登录,如果是,则回显到其值标记


名称

不要在php中使用javascript。这是个坏习惯

尝试在输入中使用值标记,检查用户是否使用三元运算符登录,如果是,则回显到其值标记


名称

您要更改的源已禁用此选项。。因此,如果用户未登录,只需将其删除:)


您要更改的源已禁用此选项。。因此,如果用户未登录,只需将其删除:)



document.getElementById(“curUserName”).disabled
只能分配为true或false的值。通过指定字符串“disabled”,您指定的是一个
true
值,因此它被禁用。你提到了条件句。我在你的js中没有看到
if
语句。我将javascript嵌套在php if条件中。你能做var_dump($current_user)吗;让我们知道您得到了什么?
document.getElementById(“curUserName”)。禁用的
只能被分配为true或false的值。通过指定字符串“disabled”,您指定的是一个
true
值,因此它被禁用。你提到了条件句。我在你的js中没有看到
if
语句。我将javascript嵌套在php if条件中。你能做var_dump($current_user)吗;让我们知道你得到了什么?
<?php (is_user_logged_in()) ? $current_user = wp_get_current_user() : $current_user = false; ?>

<label>Name</label>
<input type="text" id="curUserName" name="sender_name" value="<?php ($current_user) ? echo $current_user->user_name : '' ?>" required>
<label>Email</label>
<input type="text" id="curUserEmail" name="sender_email" value="<?php ($current_user) ? echo $current_user->user_email : '' ?>" required>
<?php

    $current_user = wp_get_current_user();
    $user_email = $current_user->user_email;
    $user_name = $current_user->user_firstname.' '.$current_user>user_lastname;

    echo '<script type="text/javascript">';
    if ( 0 != $current_user->ID )
    {

        echo 'document.getElementById("curUserName").value = "'.$user_name.'" 
        document.getElementById("curUserName").disabled = "disabled"
        document.getElementById("curUserEmail").value = "'.$user_email.'"
        document.getElementById("curUserEmail").disabled = "disabled"';
     }
     else
     {

        echo 'document.getElementById("curUserName").disabled = false;
        document.getElementById("curUserEmail").disabled = false;';         
     }
     echo '</script>';
 ?>