首页 文章

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

提问于
浏览
0

我正在定制我的店面儿童主题,并最终设法定位所有woocommerce表单,仅显示占位符文本除了form-edit-account上的字段,无论我尝试过多少都不会改变(很多) . 我想过将该模板复制到我的子主题并进行更改但不确定正确的方法 . 任何帮助非常感谢 - 我是一个复制贴纸而不是开发人员 .

在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;

}

模板可以在这里找到https://github.com/woocommerce/woocommerce/blob/master/templates/myaccount/form-edit-account.php

我测试了直接编辑模板如下(只是为了看看它是否可行,它确实如此)但不确定这是否是正确的写入方式,如果是这样,它应该只是进入我的子主题文件夹?代码原样:

<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>

我在id之后将它插入输入类型行,但这是正确的方法吗?

placeholder="First name"

谢谢!

1 回答

  • 0

    你有一个语法错误,冒号而不是分号:

    $args['placeholder'] = 'password':
    

    应该:

    $args['placeholder'] = 'password';
    

    我不确定这是否会有所帮助,但......

    另外,如果你有这么多不同的可能性,考虑使用 switch 而不是 if 循环,它更具可读性:

    <?php
    
    switch( $args['id']) {
    
      case 'billing_first_name':
        $args['placeholder'] = 'FIRST NAME';
        break;
    
      case 'billing_last_name':
        $args['placeholder'] = 'LAST NAME';
        break;
    
      // ...
    }
    

    很抱歉没有帮助,我实际上到这里寻找类似的答案(在WooCommerce评论表单字段中设置占位符) .

相关问题