Php 添加占位符文本以编辑帐户表单

Php 添加占位符文本以编辑帐户表单,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我正在自定义我的店面子主题,并最终设法将所有woocommerce表单的目标设置为仅显示占位符文本,表单编辑帐户上的字段除外,无论我尝试了什么(很多次),这些字段都不会更改。我想把这个模板复制到我的子主题中,但不确定正确的方法。非常感谢任何帮助-我是一个复制粘贴者,但不是一个开发人员 functions.php文件中使用的代码片段: //placeholder text add_filter( 'woocommerce_form_field_args', 'custom_form

我正在自定义我的店面子主题,并最终设法将所有woocommerce表单的目标设置为仅显示占位符文本,表单编辑帐户上的字段除外,无论我尝试了什么(很多次),这些字段都不会更改。我想把这个模板复制到我的子主题中,但不确定正确的方法。非常感谢任何帮助-我是一个复制粘贴者,但不是一个开发人员

functions.php文件中使用的代码片段:

    //placeholder text
    add_filter( 'woocommerce_form_field_args', 'custom_form_field_args',      10, 3 );
    function custom_form_field_args( $args, $key, $value ) { 
       if ( $args['id'] == 'billing_first_name' ) {
          $args['placeholder'] = 'FIRST NAME';
       } elseif ( $args['id'] == 'billing_last_name' ) {
           $args['placeholder'] = 'LAST NAME';
       } elseif ( $args['id'] == 'shipping_state' ) {
           $args['placeholder'] = 'State';
       } elseif ( $args['id'] == 'account_first_name' ) {
           $args['placeholder'] = 'FIRST NAME';
       } elseif ( $args['id'] == 'account_last_name' ) {
           $args['placeholder'] = 'LAST NAME';
       } elseif ( $args['id'] == 'account_email' ) {
           $args['placeholder'] = 'email';  
       } elseif ( $args['id'] == 'account_password_current' ) {
           $args['placeholder'] = 'password':
       } elseif ( $args['id'] == 'account_password_1' ) {
           $args['placeholder'] = 'new password';   
       } elseif ( $args['id'] == 'account_password_2' ) {
           $args['placeholder'] = 'confirm password';
       }

       return $args;
    };
等等,通过每个“发货”、“账单”和“账户”id

用于隐藏标签的css

    .woocommerce form .form-row label {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
}

模板可以在这里找到

我测试了直接编辑模板,如下所示(只是为了看看它是否可以工作,它确实可以),但不确定这是否是正确的编写方法,如果是,它是否应该放在我的子主题文件夹中? 按原样编码:

    <p class="woocommerce-form-row woocommerce-form-row--first form-row form-row-first">
    <label for="account_first_name"><?php esc_html_e( 'First name', 'woocommerce' ); ?> <span class="required">*</span></label>
    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_first_name" id="account_first_name" value="<?php echo esc_attr( $user->first_name ); ?>" />
</p>

谢谢大家!

出现语法错误,冒号代替分号:

$args['placeholder'] = 'password':
应该是:

$args['placeholder'] = 'password';
我不确定这是否有帮助,不过

也可以考虑使用<代码>开关<代码>代替<代码>如果Road,如果你有很多不同的可能性,它更可读:

<?php

switch( $args['id']) {

  case 'billing_first_name':
    $args['placeholder'] = 'FIRST NAME';
    break;

  case 'billing_last_name':
    $args['placeholder'] = 'LAST NAME';
    break;

  // ...
}

出现语法错误,以冒号代替分号:

$args['placeholder'] = 'password':
应该是:

$args['placeholder'] = 'password';
我不确定这是否有帮助,不过

也可以考虑使用<代码>开关<代码>代替<代码>如果Road,如果你有很多不同的可能性,它更可读:

<?php

switch( $args['id']) {

  case 'billing_first_name':
    $args['placeholder'] = 'FIRST NAME';
    break;

  case 'billing_last_name':
    $args['placeholder'] = 'LAST NAME';
    break;

  // ...
}

使用以下功能复制palceholder中的标签

function custom_form_field_args( $args, $key, $value ) {
        $args['placeholder'] = $args['label'];
        return $args;
    };
    add_filter( 'woocommerce_form_field_args', 'custom_form_field_args',      10, 3 );
如果你想用这个css隐藏所有标签

.woocommerce form .form-row label {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
    clip: rect(0,0,0,0);
border: 0;
}

使用以下功能复制palceholder中的标签

function custom_form_field_args( $args, $key, $value ) {
        $args['placeholder'] = $args['label'];
        return $args;
    };
    add_filter( 'woocommerce_form_field_args', 'custom_form_field_args',      10, 3 );
如果你想用这个css隐藏所有标签

.woocommerce form .form-row label {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
    clip: rect(0,0,0,0);
border: 0;
}

我实际上在寻找同样的解决方案。除了“帐户详细信息”页面之外,我已经设法在任何地方找到了占位符。我似乎找不到合适的钩子。我实际上在寻找相同的解决方案。除了“帐户详细信息”页面之外,我已经设法在任何地方找到了占位符。我似乎找不到合适的钩子。这正是我一直在寻找的。帐户页面中的许多字段不包含占位符(我相信是因为地址区域设置的原因),但这可以完美地创建占位符这正是我一直在寻找的。帐户页面中的许多字段都不包含占位符(我相信是由于地址区域设置的原因),但这非常适合创建占位符