This thread is resolved. Here is a description of the problem and solution.
Problem:
If you're experiencing issues with WooCommerce custom fields not displaying in secondary languages on your product pages, we have identified a solution.
Solution:
Firstly, ensure that the 'Product Fields (wccf_product_field)' post type is set to Translatable in WPML -> Settings -> Post Types Translation. Then, follow these steps:
1. Go to your product fields.
2. Edit the field in the default language.
3. In the 'Language' section of the right sidebar, click the + icon to add a translation of the field.
4. Translate only the label in the Advanced Translation Editor (ATE) and return to the default language version of the product.
5. Switch to the secondary language from the top admin bar and edit the field, adding conditions and settings to match the default language version.
Alternatively, you can create separate fields for each language without using ATE, which allows for clearer naming of fields and easier management.
If you encounter a 500 Internal Server Error when selecting options from the field, it may be necessary to delete problematic fields, clear the trash, and recreate them one by one, ensuring to translate and synchronize attributes. Also, consider disabling caching and firewall systems while testing.
Please note that this solution may be outdated or not applicable to your case. If the issue persists, we highly recommend checking related known issues, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If necessary, do not hesitate to open a new support ticket with us.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Tagged: Compatibility, Exception
This topic contains 27 replies, has 2 voices.
Last updated by Waqas Bin Hasan 7 months, 1 week ago.
Assisted by: Waqas Bin Hasan.
Author | Posts |
---|---|
April 2, 2024 at 7:38 am #15471188 | |
romainO-2 |
I get a "Incompatible Archive." message when I try to upload the woocommerce custom field plugin (zip). |
April 2, 2024 at 3:35 pm #15473963 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Perhaps the zip wasn't created properly. As an alternate, you can download the plugin from original source (i.e. author or plugin website) or can download the folder plugin from your site using FTP, then create zip and finally upload to the sandbox - does it work? |
April 2, 2024 at 4:49 pm #15474372 | |
romainO-2 |
As an alternate, you can download the plugin from original source (i.e. author or plugin website) : not available any more or can download the folder plugin from your site using FTP, then create zip : that's what I did |
April 2, 2024 at 7:06 pm #15474867 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for the updates. Perhaps there's a problem with your download via FTP or creating a zip later on. However, I installed https://wordpress.org/plugins/download-plugins-dashboard/ in your site (as mentioned earlier) and was able to download and then upload the said plugin in the sandbox site (see attached). Also notice the red marked stuff on the screenshot: 1) Use your code or try without it for the said plugin, to see if it works. Let me know when you're done. |
April 4, 2024 at 10:07 am #15482153 | |
romainO-2 |
Hello It's done. There is a language switcher in the footer. |
April 4, 2024 at 5:48 pm #15485236 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for the updates, I'll check soon and 'll get back to you accordingly. |
April 4, 2024 at 11:04 pm #15485969 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for waiting on this. I was able to make some progress but looks like plugin doesn't support much of the translations side. However, I still have some things to check and 'll get back to you accordingly by tomorrow. |
April 5, 2024 at 7:40 am #15486524 | |
romainO-2 |
Ok thank you |
April 5, 2024 at 5:45 pm #15489320 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Thank you for your patience and cooperation. I was able to find the solution, please consider following options. Although both are the same but there's a slight difference for understanding. Option A Option B But create one field in French and one field in English. I've also demonstrated this in the sandbox site: This gives you the opportunity to name the fields properly, which may be a crucial requirement when dealing with custom orders later (instead of figuring out fields with no labels or vague/random numbers). In any case, when you'll be editing the secondary language version of the field, WPML 'll warn you about it. Just ignore and click "Edit anyway" to edit the field as needed. |
April 8, 2024 at 1:06 pm #15494184 | |
romainO-2 |
Great, thank you Waqas. Unfortunately, I have spent a long time trying to reproduce it on a copy of the live website, but without success... hidden link It seems that I cannot configure english custom fields like french ones. I'm not sure it's responsible for the bug, but it may suggest some other problems in the plugin : I don't understand what is the difference between your sandbox site and mine. I have tried disabling all the other plugins and setting a default WordPress theme, it's all the same. Any last suggestion ? |
April 8, 2024 at 5:05 pm #15495626 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
I've tried again in your site, even updated WPML plugins to latest versions (released in previous week), corrected WooCommerce Endpoints (need to be in English - a known issue) and then translated (regardless of site's default lang) and synchronized attributes. But there's always this error in the logs (500 Internal Server Error), when selecting a choice from the 2nd field: PHP Fatal error: Uncaught Error: Call to undefined method WCCF_FB::radio-en() in /home/serveun/www/wp-content/plugins/woocommerce-custom-fields/classes/fields/field-controllers/wccf-field-controller.class.php:2049 Stack trace: #0 /home/serveun/www/wp-content/plugins/woocommerce-custom-fields/classes/fields/field-controllers/wccf-field-controller.class.php(1926): WCCF_Field_Controller::print_field(Object(WCCF_Product_Field), NULL, 0, Object(WC_Product_Variation), Array) #1 /home/serveun/www/wp-content/plugins/woocommerce-custom-fields/classes/wccf-wc-product.class.php(363): WCCF_Field_Controller::print_fields(Array, NULL, 1, NULL, Object(WC_Product_Variation)) #2 /home/serveun/www/wp-includes/class-wp-hook.php(324): WCCF_WC_Product->ajax_refresh_product_field_view('') #3 /home/serveun/www/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #4 /home/serveun/www/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #5 /home/serveun/www/wp-admin/admin-ajax.php(192): do_action('wp_ajax_wccf_re...') #6 {main} thrown in /home/serveun/www/wp-content/plugins/woocommerce-custom-fields/classes/fields/field-controllers/wccf-field-controller.class.php on line 2049 Notice that this is the same error we found earlier but with less trace because now only a few plugins are active. So I deleted one any only radio field, from the product fields, although it was disabled but still was being processed. I deleted it from Trash also. And now there's no 500 Internal Server Error at hidden link when changing field choices. However, still the conditional fields are not being displayed but I guess that's a matter of some appropriate conditions and cleaning up the fields mess. I'll recommend deleting all fields from all languages, including the Trash (for all languages). Then create 1 field first, follow the steps to translate and see if it works. Then add another, repeat the process and keep going. I also noticed that even for default language version of the product, sometimes fields do not appear correctly. I suspect some caching may also be involved. So it is better to disable all caches and firewalls (plugins and/or server side) before testing the above mentioned. |
April 9, 2024 at 8:02 am #15497272 | |
romainO-2 |
Hello Waqas, I really appreciate all the time you spent to help me, but my client prefers move on to a new plugin, as it getting too complicated with this one. Thank you very much for your help. |
April 9, 2024 at 3:37 pm #15500240 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
You're always welcome. I tried my best. Please feel free to close this ticket in this case and don't hesitate to open a new one whenever you need any help regarding WPML. Have a great day 🙂 |