-
-
Save hlashbrooke/11205023 to your computer and use it in GitHub Desktop.
<?php | |
// Add fields to new vendor form | |
add_action( 'shop_vendor_add_form_fields', 'custom_add_vendor_fields', 2, 1 ); | |
function custom_add_vendor_fields( $taxonomy ) { | |
?> | |
<div class="form-field"> | |
<label for="vendor_website"><?php _e( 'Vendor website' ); ?></label> | |
<input type="text" name="vendor_data[website]" id="vendor_website" class="vendor_fields" /><br/> | |
<span class="description"><?php _e( 'The vendor\'s website.' ); ?></span> | |
</div> | |
<?php | |
} | |
// Add fields to vendor edit form for admins to edit | |
add_action( 'shop_vendor_edit_form_fields', 'custom_edit_vendor_fields', 2, 1 ); | |
function custom_edit_vendor_fields( $vendor ) { | |
$vendor_id = $vendor->term_id; | |
$vendor_data = get_option( 'shop_vendor_' . $vendor_id ); | |
$vendor_website = ''; | |
if( isset( $vendor_data['website'] ) && ( strlen( $vendor_data['website'] ) > 0 || $vendor_data['website'] != '' ) ) { | |
$vendor_website = $vendor_data['website']; | |
} | |
?> | |
<tr class="form-field"> | |
<th scope="row" valign="top"><label for="vendor_website"><?php _e( 'Vendor website' ); ?></label></th> | |
<td> | |
<input type="text" name="vendor_data[website]" id="vendor_website" class="vendor_fields" /><br/> | |
<span class="description"><?php _e( 'The vendor\'s website' ); ?></span> | |
</td> | |
</tr> | |
<?php | |
} | |
// Add fields to vendor details form for vendors to edit | |
add_action( 'product_vendors_details_fields', 'custom_vendor_details_fields', 10, 1 ); | |
function custom_vendor_details_fields( $vendor_id ) { | |
$vendor = get_user_vendor(); | |
$vendor_data = get_option( 'shop_vendor_' . $vendor->ID ); | |
$vendor_info = get_vendor( $vendor->ID ); | |
$vendor_website = ''; | |
if( isset( $vendor_data['website'] ) && ( strlen( $vendor_data['website'] ) > 0 || $vendor_data['website'] != '' ) ) { | |
$vendor_website = $vendor_data['website']; | |
} | |
$html = '<p class="form-field"> | |
<label for="vendor_website">' . __( 'Website' ) . ':</label> | |
<input type="text" name="wc_product_vendors_website_' . $vendor->ID . '" id="vendor_website" class="vendor_fields" /> | |
</p>'; | |
echo $html; | |
} | |
// Save fields from vendor details form | |
add_action( 'product_vendors_details_fields_save', 'custom_vendor_details_fields_save', 10, 2 ); | |
function custom_vendor_details_fields_save( $vendor_id, $posted ) { | |
$vendor_data = get_option( 'shop_vendor_' . $vendor_id ); | |
if( isset( $posted[ 'wc_product_vendors_website_' . $vendor_id ] ) ) { | |
$vendor_data['website'] = $posted[ 'wc_product_vendors_website_' . $vendor_id ]; | |
} | |
update_option( 'shop_vendor_' . $vendor_id, $vendor_data ); | |
} | |
?> |
I am using this for a form but I am trying to use it with a drop down but its not saving the values any ideas what we are doing wrong
<select name="vendor_size" id="vendor_size" value="<?php if ( ! empty( $_POST['vendor_size'] ) ) echo esc_attr( trim( $_POST['vendor_size'] ) ); ?>" tabindex="16">
<option value="S" <?php if (!empty($vendor_size) && $vendor_size == 'S') echo 'selected = "selected"'; ?>>S</option>
<option value="M" <?php if (!empty($vendor_size) && $vendor_size == 'M') echo 'selected = "selected"'; ?>>M</option>
<option value="L" <?php if (!empty($vendor_size) && $vendor_size == 'L') echo 'selected = "selected"'; ?>>L</option>
<option value="XL" <?php if (!empty($vendor_size) && $vendor_size == 'XL') echo 'selected = "selected"'; ?>>XL</option>
</select>
function save_vendor_custom_fields( $term_id ) {
if ( ! wp_verify_nonce( $_POST['vendor_custom_fields_nonce'], basename( __FILE__ ) ) ) {
return;
}
$old_vendor_job = get_term_meta( $term_id, 'vendor_job', true );
$old_vendor_address = get_term_meta( $term_id, 'vendor_address', true );
$old_vendor_biography = get_term_meta( $term_id, 'vendor_biography', true );
$old_vendor_photo = get_term_meta( $term_id, 'vendor_photo', true );
$old_vendor_cv = get_term_meta( $term_id, 'vendor_cv', true );
$old_vendor_type = get_term_meta( $term_id, 'vendor_type', true );
$old_vendor_size = get_term_meta( $term_id, 'vendor_size', true );
$old_vendor_priceperhour = get_term_meta( $term_id, 'vendor_priceperhour', true );
$old_vendor_sex = get_term_meta( $term_id, 'vendor_sex', true );
$new_vendor_job = ( $_POST['vendor_job'] );
$new_vendor_address = ( $_POST['vendor_address'] );
$new_vendor_biography = ( $_POST['vendor_biography'] );
$new_vendor_photo = ( $_POST['vendor_photo'] );
$new_vendor_cv = ( $_POST['vendor_cv'] );
$new_vendor_type = ( $_POST['vendor_type'] );
$new_vendor_size = ( $_POST['vendor_size'] );
$new_vendor_priceperhour = ( $_POST['vendor_priceperhour'] );
$new_vendor_sex = ( $_POST['vendor_sex'] );
if ( ! empty( $old_vendor_size ) && $new_vendor_size === '' ) {
delete_term_meta( $term_id, 'vendor_size' );
Please I need help with creating a google location field for vendors. That is, I would like to add either the Lat/Long coordinates of the vendor's location or grab it from google map/location services; the latter being the preferred option. Any one, please?
@ugoxuqu You can add a google map location field using Advanced Custom Fields (WP ACF plugin ), by using this plugin you can add map and able to get lat and Long for particular vendor.
Hello,
I have copied the exact code above into my funtions.php but not seeing the new field anywhere. Not in the admin not during signgup Has anything changed in the code?
Can I use this code with Woocommerce product vendors 2.0. If so, what do I need to change or edit to get it to work.?
Please can anyone tell me how to add password field to choose a password for registration instead of generate password automatically?
Hi Hugh - do you have any idea how I can change the wording of 'Commission' to 'Revenue' on the vendors completed order email template which reads:
Your commission for this order is €amt
I am using woo product vendors AND Eventon
Can some one post the full code to add an Image uploader field in the vendor area. So the admin can go in and upload a image to appear on each vendors product pages.