Best practice for custom product fields in WooCommerce? - wordpress

I was wondering if somebody has any experience with custom product fields in WooCommerce. I'm currently working on an online-shop for food and beverages, which contains a lot of custom values and different product types like food, beverages or non-food.
So far I was working with ACF, which already helped me to save a lot of time in dev. But still I'm not very sure if this is the best practice. I very concerned about being limited in what I'm doing (Online-Shop will contain apprx. 4000 products).
I found this very nice article about adding custom fields to WooCommerce products (http://www.remicorson.com/mastering-woocommerce-products-custom-fields/). The first benefit is that the admin's don't need to get used to two different UI's while editing product.
Would be great if somebody could share his experience with custom fields in WooCommerce.
List of fields I manly use:
Checkboxes (sometimes Conditional)
Regular Text-Inputs Textarea's Select to link to other custom post types
Radiobuttons
Select > For product_cat
Mandotory fields

Related

Connect one CPT to another CPT in a wp_query loop

I am looking for the most efficient way to create two separate custom post types called "venues" and "offers". The role of such would be to display on a website it in the following way:
VENUE_1
offer A
offer B
etc
VENUE_2
offer C
As you see, the venues will be quite static, once added photos and descriptions will remain the same. The most dynamic thing are offers. They will vary from each other. I know I can handle that through ACF repeater in a single CPT but I don't want to use this solution due to a few technical requirements.
Is there any way that Wordpress (or Wordpress +ACF) will allow to do that? From the flow pov it will look like that:
an editor adds venue, with descriptions, photos etc through venue CPT
along the time an editor adds specific offers through offers CPT, selecting via e.g. dropdown to which venue it is connected
I have never used relationship fields in ACF but afaik while selecting I need to do it fully manually and select very specific offer. And as said, I want to handle later on only offers, avoiding situation when constantly I need to add manually those via venue item.
You're probably over complicating things.
You should approach it from a taxonomy point of view, meaning,
venue as a taxonomy, offer as a custom post type.
You can use taxonomy-<my-taxonomy>.php to create a specific template for your custom taxonomy. eg: taxonomy-venue.php.
You will be able to access your venue through the following permalink example.com/venue/my-awsome-venue
On each venue taxonomy pages you will a custom query to loop through each offer which are listed under the currently queried venue.
You should read Template Hierarchy from the codex, to have a better understanding of templating.

How to display specific WooCommerce variable product attribute together with it's related price?

I have a WooCommerce store for footwear with mainly variable products that I used on them (size attribute), I consider the user experience a lot that's why I'm trying to find a way to display each variable product size attribute with its related price" similar to the below images:
Most of the stores that have this functionality are not WooCommerce and were built using other technology and frameworks, I tried a lot to search for something to achieve similar results with WooCommerce but without any luck. Is this possible to be achieved on WooCommerce?
I will really appreciate and help.

How can I build WooCommerce products collections?

I want to build products collections similar to AliExpress,Amazon, Etsy and other collections.
I can suggest you three ways:
You could create new taxonomy called collections, each term would be a collection. You can extend it for your needs by adding custom fields to collection taxonomy terms i.e. image, relations with specific brands ( which also can be created as taxonomy ).
To make final render adjustments, you will have to override archive.php template for your collection taxonomy - i.e. taxonomy-collection.php or taxonomy-collections.php ( depending on slug you choose to use )
You could create new custom post type collections, and then create for product post type additional custom field, that would list in dropdown ( multiselect ) or multiple checkboxes all collections.
You will then need to override single.php template for single custom post type view, i.e. single-collection.php
See: https://developer.wordpress.org/themes/basics/template-hierarchy/ for templates reference.
You could find and install some plugin ( there is a decent number of such ) that offer extending WooCommerce in terms of having brands and collections attached.
I would suggest first approach, or second if you are decent in WordPress and WooCommerce development. Third is at first easiest, but usually lacks of flexibility and customization, since it is not your code.
Wouldn't Grouped products work for you (or anyone searching here)?
https://docs.woocommerce.com/document/managing-products/#section-12
Go to: WooCommerce > Products > Add New.
Enter a Title for the Grouped product, e.g., Back to School set
Scroll down to Product Data and select Grouped from the dropdown. The price and several other fields disappear. This is normal because a
Grouped Product is a collection of ‘child products’, which is where
you add this information.
Publish.
The Grouped product is still an empty group. To this Grouped product,
you need to:
-Create products and add them
-Add existing child products
If you are looking to make collections like those in shopify, for example, grouping products by attributes, or a certain word contained in the title. There is a plugin called WooCommerce Collection by WooExperts. Unfortunately it is a paid plugin. I will give the link below to avoid confusion with another plugin called WooCommerce Collections.
I am not in anyway affiliated to them, I simply use it and it solved this issue for me.
Here is the link: https://wooexperts.com/plugins/woocommerce-collection/

Wordpress: Using Custom Post Type for image list of Product

I have a Wordpress-blog with gift ideas where I write text based articles. I recently discovered Custom Post types which I believe is the solution to an feature I want to create.
What I want:
Be able to tag each custom post using the normal "Categories" and "Tags".
Create a 3x3 matrix with product images (custom posts) to be shown on top of each Category-view or Tag-view (followed by the typical article list in the category or tag).
Example:
Lets say I have a category "Gifts for mom" and tags "Pink", "Cheap"
In the category "Gifts for mom" I have 10 text articles (normal posts) discussing the difficulties of buying gifts for your mom
I create nine custom posts, each is a specific gift (e.g. A pink hairbrush). I want to place them in the Category "Gifts for mom" and tag them with "Pink".
When I view myrandomgiftblogname.com/category/gifts-for-mom I want to be able to get a view:
Gifts for mom
Product Product Product
Product Product Product
Product Product Product
Articles:
- This awesome article
- That awesome article
- Etc
I assume this is possible but don't really know where to begin. Could you point me in the right direction? Which Plugins do I need? Do I need to do any programming myself (or just plugin configuration)? Is this even possible?
The description is a bit broad, hence a bit broad answer.
Two things are needed:
1) A plugin to create the Custom Post Type.
It is considered best practice to let CPT's in Plugin territory. So you can swap designs and preserve your CPT functionality. In reality, you are asking for future problems letting this be handled by the theme.
Create your own plugin, which would contain a register_post_type and any extra configs.
Use an existent plugin, like Custom Content Type Manager.
Its Custom Fields features are quite handy as well.
Allows users to create custom content types (also known as post types) and standardized custom fields for each, including dropdowns, checkboxes, and images.
2) Learn how to use and customize WordPress Templates
http://codex.wordpress.org/Templates
Templates are the files which control how your WordPress site will be displayed on the Web. These files draw information from your WordPress MySQL database and generate the HTML code which is sent to the web browser. Through its powerful Theme system, WordPress allows you to define as few or as many Templates as you like all under one Theme. Each of these Template files can be configured for use under specific situations.
You can try the following:
Add a new Page for each category with the exact same name as the category.
In the Images menu attach to each of those pages the images you want.
In your script query for a page with a name identical to the current category, and pull all of its attachments

Wordpress: custom post types: using custom fields or taxonomies?

I'm thinking about using WP custom post types to create a basic real estate website.
The post type will be for property listings. I've decided to have one post type for For Sale and one for Rentals, simple because they have somewhat different property information.
A typical listing will need to specify some information, ie, is it a house, an apartment or maybe it's just a piece of land.
What are the pros and cons of specifying this info using custom fields (meta data) versus using taxonomy (categories and tags)?
I can see that it's easy to search based on taxonomy, but custom post types meta data can also be queried.
Also, it seems that this question applies to any post data where discrete choices are required: meta data checkbox, select or taxonomy.
Any thoughts?
Thanks.
My preference for what you're trying to do would be taxonomy for the following reasons:
SEO and User Friendly URLs
With categories and tags, WordPress permalinks are setup to put that information in the URL for you. This will go a long way towards the SEO and usability of your site because you'll be able to create URLs like:
http://yoursite.com/rentals
http://yoursite.com/for-sale/two-bedroom/123-fake-street
Hierarchy
I don't know if you have the need for it, but building a hierarchy with categories is easy. This will give you lots of flexibility when it comes to organizing your posts.
Theme Coding
As you said, it's possible to perform custom queries for meta data, but WordPress has many out-of-the-box functions to query and display based on tags and categories. This will mean that you'll have to write less code to get your theme to do what you want.
I've done exactly what you are talking about, both ways (using Custom Fields versus Categories). My view is you should use a mix - use Categories for the most important information (eg For Sale, Type of Property etc) and use Custom Fields for the actual data for the listing.
Wordpress then has many built in functions to organise that data in a really intuitive way, and allows you to easily group properties of the same type together, in exactly the way a user wants to browse the data.

Resources