Problem:
The user wants to create a taxonomy called "Artists" for a CPT "Record" with the following restrictions:
Limit the taxonomy to a single selection.
Ensure the taxonomy is "childless," meaning no parent-child hierarchy is allowed.
Solution:
Limiting the Taxonomy to a Single Selection:
Toolset does not natively allow restricting taxonomies to a single choice. However, you can achieve this using custom JavaScript and CSS to ensure only one checkbox can be selected in the admin panel.
function restrict_taxonomy_to_single_selection() { if (is_admin()) { ?> <style type="text/css"> #newartist_parent { display: none; /* Hide parent selectors */ } </style> <script type="text/javascript"> jQuery(document).ready(function($) { $('input[name="tax_input[artist][]"]').on('change', function() { if ($(this).is(':checked')) { $('input[name="tax_input[artist][]"]').not(this).prop('checked', false); } }); }); </script> <?php } } add_action('admin_footer', 'restrict_taxonomy_to_single_selection');
Creating a "Childless" Taxonomy:
In Toolset > Taxonomies, change the taxonomy type to a flat taxonomy (like tags) instead of hierarchical. This will prevent parent-child relationships in the taxonomy.
Alternative Using Toolset Relationships:
For a more robust solution, consider creating a custom post type "Artist" and use a one-to-many relationship with the "Record" post type. This ensures each record has only one artist and avoids hierarchy issues.
Relevant Documentation:
https://toolset.com/lesson-placement/lesson-placements-1824625-1727273/
https://toolset.com/lesson-placement/lesson-placements-1824625-1727251/
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
This topic contains 3 replies, has 1 voice.
Last updated by 1 month, 4 weeks ago.
Assisted by: Christopher Amirian.