Wordpress 如何向现有输入框插入值?
Wordpress how to insert value to an existing input box?
我需要在现有输入中自动插入登录用户的 username
和 email
。
我尝试了以下代码,但它没有在输入中插入值。我测试了 echo $username 和 $user_email,它显示了正确的用户信息)。
你能告诉我如何解决这个问题吗?
已有输入码(YITH插件创建):
<from id="yith-ywraq-default-form">
<input type="text" class="input-text " name="first_name" id="first_name" placeholder="" value="">
<input type="email" class="input-text " name="email" id="email" placeholder="" value="">
</form>
我试过的代码:
$autofillNameEmail = <<<EOD
<script>
(function thisFunction() {
$("input[name=first_name]").val(Print($username););
$("input[name=email]").val(Print($user_email););
})();
</script>
EOD;
$user = wp_get_current_user();
$username = $user->user_login;
$user_email = $user->user_email;
if( $user->ID ) {
echo $autofillNameEmail;
}
谢谢。
我最初的想法是您代码的 javascript
部分。虽然以您所做的方式将 php
变量传递给页面不是一个好的做法,但是代码中的要点是每当您想在 wordpress
中使用 jQuery
时,您需要明确告诉 wordpress
你需要 jQuery
的 $
。所以我会说,运行 以下片段代替。
This is NOT a good practice to pass php
variables to a page nor the correct way to inject javascript
to a page. It is NOT recommended to use this in production! Instead consider it as a learning opportunity and go learn about wp_localize_script
and wp_enqueue_script
.
global $current_user;
$user_name = $current_user->user_login;
$user_email = $current_user->user_email;
if ($current_user->ID) { ?>
<script>
jQuery(document).ready($ => {
let userName = "<?php echo $user_name ?>";
let userEmail = "<?php echo $user_email ?>";
$("input[name=first_name]").val(userName);
$("input[name=email]").val(userEmail);
});
</script>
<?php }
经过测试并且有效!
我需要在现有输入中自动插入登录用户的 username
和 email
。
我尝试了以下代码,但它没有在输入中插入值。我测试了 echo $username 和 $user_email,它显示了正确的用户信息)。
你能告诉我如何解决这个问题吗?
已有输入码(YITH插件创建):
<from id="yith-ywraq-default-form">
<input type="text" class="input-text " name="first_name" id="first_name" placeholder="" value="">
<input type="email" class="input-text " name="email" id="email" placeholder="" value="">
</form>
我试过的代码:
$autofillNameEmail = <<<EOD
<script>
(function thisFunction() {
$("input[name=first_name]").val(Print($username););
$("input[name=email]").val(Print($user_email););
})();
</script>
EOD;
$user = wp_get_current_user();
$username = $user->user_login;
$user_email = $user->user_email;
if( $user->ID ) {
echo $autofillNameEmail;
}
谢谢。
我最初的想法是您代码的 javascript
部分。虽然以您所做的方式将 php
变量传递给页面不是一个好的做法,但是代码中的要点是每当您想在 wordpress
中使用 jQuery
时,您需要明确告诉 wordpress
你需要 jQuery
的 $
。所以我会说,运行 以下片段代替。
This is NOT a good practice to pass
php
variables to a page nor the correct way to injectjavascript
to a page. It is NOT recommended to use this in production! Instead consider it as a learning opportunity and go learn aboutwp_localize_script
andwp_enqueue_script
.
global $current_user;
$user_name = $current_user->user_login;
$user_email = $current_user->user_email;
if ($current_user->ID) { ?>
<script>
jQuery(document).ready($ => {
let userName = "<?php echo $user_name ?>";
let userEmail = "<?php echo $user_email ?>";
$("input[name=first_name]").val(userName);
$("input[name=email]").val(userEmail);
});
</script>
<?php }
经过测试并且有效!