WooCommerce Extra Product Options

The extra fields are showing twice on the product page

The WooCommerce hooks (woocommerce_before_add_to_cart_button, woocommerce_after_add_to_cart_button) are moved from the file woocommerce/single-product/add-to-cart/variable.php to woocommerce/templates/single-product/add-to-cart/variation-add-to-cart-button.php in the latest version of the WooCoomerce.

Till version 3.4.0 these hooks were present in the file woocommerce/single-product/add-to-cart/variable.php. So probably the theme or child theme might have overridden the file variable.php and the above-mentioned hooks still may present there, which has to removed if the WooCommerce version is 3.4.0 or later.

Can sections be displayed based on conditions?

Yes. Sections can be displayed based on display rules using ‘WooCommerce Extra Product Options’ plugin. The display rules can be set according to aspects like product, category, product variation and various other field values.

WooCommerce Checkout Field Editor

Is it possible to include a custom field as part of the address display?

Yes, it is possible. You can display a custom field along with the address field using the feature ‘Custom Address Fields’ in 'WooCommerce Checkout Field Editor Pro' plugin.

To learn more about ‘Custom Address Fields’ feature, please visit the documentation given in the below link:
Include Custom Address Fields in Address Display

You can also watch this video tutorial to learn about the feature: https://youtu.be/ggXI8ZpOnAE

Why do I get a 'Please enter an address to continue' message when I checkout?

You get this error when the country field is disabled/removed in either billing or shipping section in the plugin settings. When you provide a validation for state field or zip code field in any section, it is mandatory to have an active country field. But, there is an option for you to hide the country field if you don't feel like displaying it.

For this, you can create a new field in that particular section in the same name as billing_country/shipping_country. This will override any field which is existing in the same name. You can set the field type as hidden if you want to hide the field in the checkout page. Then you have to provide a country code as a Default Value so that the section will always consider the given country as default. For example, if you want to keep the United States of America as your default billing/shipping country, you can give the code as 'US'.