Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在签出表单中显示自定义表值_Php_Mysql_Wordpress_Woocommerce_Custom Fields - Fatal编程技术网

Php 在签出表单中显示自定义表值

Php 在签出表单中显示自定义表值,php,mysql,wordpress,woocommerce,custom-fields,Php,Mysql,Wordpress,Woocommerce,Custom Fields,我想在WooCommerce checkout from company name字段中显示外部表值。我们可以创建外部表并插入一些公司名称 当用户在结帐字段中注册我们的服务时,客户应在自定义选择选项字段中选择公司名称。此值应在自定义数据库表中显示 我怎样才能做到这一点 提前感谢。我们将首先取消设置公司的字段类型,然后将其更改为“选择”(选择器)类型。然后,我们将创建一个查询,以从自定义数据库表(比如称为“wp_companys”)中获取所有选项键/值: (仅用于测试)此处无数据库查询(公司有3

我想在WooCommerce checkout from company name字段中显示外部表值。我们可以创建外部表并插入一些公司名称

当用户在结帐字段中注册我们的服务时,客户应在自定义选择选项字段中选择公司名称。此值应在自定义数据库表中显示

我怎样才能做到这一点


提前感谢。

我们将首先取消设置公司的字段类型,然后将其更改为“选择”(选择器)类型。然后,我们将创建一个查询,以从自定义数据库表(比如称为“wp_companys”)中获取所有选项键/值:

(仅用于测试)此处无数据库查询(公司有3个选项):

将此代码粘贴到活动子主题(或主题)中的function.php文件中

这段代码经过测试,可以正常工作


真实代码:从数据库自定义表进行查询(待调整)

将此代码粘贴到活动子主题(或主题)中的function.php文件中

参考资料:

add_filter( 'woocommerce_default_address_fields' , 'set_custom_company_checkout_field' );
function set_custom_company_checkout_field( $address_fields ) {

    unset($fields['company']['type']);

    $address_fields['company']['type'] = 'select';
    $address_fields['company']['options'] = array(
        'option_1' => 'Company 1',
        'option_2' => 'Company 2',
        'option_3' => 'Company 3'
    );
    // (optional) 
    // $address_fields['company']['default'] = 'Company 1';

    return $address_fields;
}
add_filter( 'woocommerce_default_address_fields' , 'set_custom_company_checkout_field' );
function set_custom_company_checkout_field( $address_fields ) {

    // Unset company field type
    unset($fields['company']['type']);

    global $wpdb;
    $select_options = array();

    // @@@ you will need to replace names table and columns and adapt this !!!
    $query = "SELECT id, company FROM table";
    $companies_name  = $wpdb->get_results($query);

    // Storing object $company_name keys/values in $select_options array
    foreach ( $companies_name as $company_name ) 
    {
        $key = 'option_'. $company_name->ID;
        $value = $company_name->custom_column_value;
        $select_options[$key] = $value ;
    }

    $address_fields['company']['type'] = 'select';
    $address_fields['company']['options'] = $select_options;
    // (optional) 
    // $address_fields['company']['default'] = $select_options['option_1'];

    return $address_fields;
}