Php WooCommerce:将类别复选框更改为下拉列表
请帮帮我 我需要将类别复选框更改为WooCommerce添加产品页面上的下拉列表。用户应该只能选择一个类别 当用户选择类别时,所选类别的所有子类别都应位于下一个下拉列表中。用户应该只能选择一个子类别 然后我需要把这两个下拉列表放在产品数据下拉列表下 如何删除产品类别块? 如何将类别下拉列表添加到产品数据块? 如何根据在第一个下拉列表中选择的类别在第二个下拉列表中放置子类别? 如何删除产品类别块Php WooCommerce:将类别复选框更改为下拉列表,php,jquery,wordpress,woocommerce,Php,Jquery,Wordpress,Woocommerce,请帮帮我 我需要将类别复选框更改为WooCommerce添加产品页面上的下拉列表。用户应该只能选择一个类别 当用户选择类别时,所选类别的所有子类别都应位于下一个下拉列表中。用户应该只能选择一个子类别 然后我需要把这两个下拉列表放在产品数据下拉列表下 如何删除产品类别块? 如何将类别下拉列表添加到产品数据块? 如何根据在第一个下拉列表中选择的类别在第二个下拉列表中放置子类别? 如何删除产品类别块 function remove_custom_meta_box() { remove_meta
function remove_custom_meta_box() {
remove_meta_box('{taxonomy-name}div', 'product', 'side');
}
add_action('admin_menu', 'remove_custom_meta_box');
如何将类别下拉列表添加到产品数据块
及
如何根据在第一个下拉列表中选择的类别在第二个下拉列表中放置子类别
function categories_dropdown_metabox() {
add_meta_box('custom-taxonomy-dropdown', 'Product Category', 'taxonomy_dropdowns_box', 'product', 'side', 'high');
}
function taxonomy_dropdowns_box($post) {
$terms = get_terms('product_cat', 'hide_empty=0');
$object_terms = wp_get_object_terms($post->ID, 'product_cat', array('fields'=>'ids'));
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#product-category').change(function() {
var product = jQuery('#product-category').val();
if ( product == '0') {
jQuery('#prodcatoptions').html('');
jQuery('#categorycontainer').css('display', 'none');
} else {
var data = {
'action':'get_product_categories',
'product':product,
'dropdown-nonce': jQuery('#dropdown-nonce').val()
};
jQuery.post(ajaxurl, data, function(response){
jQuery('#prodcatoptions').html(response);
jQuery('#categorycontainer').css('display', 'inline');
});
}
});
});
</script>
<div>
<span>Category:</span>
<select required id='product-category' name='prodcategory[]'>
<option value=''>Choose category</option>
<?php
foreach ($terms as $term) {
if ($term->parent == 0) {
if (in_array($term->term_id, $object_terms)) {
$parent_id = $term->term_id;
echo "<option value='{$term->term_id}' selected='selected'>{$term->name}</option>";
} else {
echo "<option value='{$term->term_id}'>{$term->name}</option>";
}
}
}
?>
</select>
</div>
<div id='categorycontainer' <?php if (!isset($parent_id)) { echo "style='display: none;'"; }?> >
<span>Subcategory:</span>
<select required id='prodcatoptions' name='prodcategory[]'>
<?php
if (isset($parent_id)) {
$models = get_terms('product_cat', 'hide_empty=0&child_of='.$parent_id);
foreach ($models as $model) {
if (in_array($model->term_id, $object_terms)) {
echo "<option value='{$model->term_id}' selected='selected'>{$model->name}</option>";
} else {
echo "<option value='{$model->term_id}'>{$model->name}</option>";
}
}
}
?>
</select>
</div>
<?php
}
add_action('add_meta_boxes', 'categories_dropdown_metabox');
function save_my_custom_taxonomy($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (!wp_verify_nonce($_POST['dropdown-nonce'], 'custom-dropdown')) {
return;
}
$product_cat = array_map('intval', $_POST['prodcategory']);
wp_set_object_terms($post_id, $product_cat, 'product_cat');
}
add_action('save_post','save_my_custom_taxonomy');
function get_product_categories() {
check_ajax_referer('custom-dropdown', 'dropdown-nonce');
if (isset($_POST['product'])) {
$models = get_terms('product_cat', 'hide_empty=0&child_of='. $_POST['product']);
echo "<option value=''>Choose subcategory</option>";
foreach ($models as $model) {
echo "<option value='{$model->term_id}'>{$model->name}</option>";
}
}
die();
}
add_action( 'wp_ajax_get_product_categories', 'get_product_categories' );
你要求的是大量的开发工作。这不仅仅是一个你在工作中遇到的问题。为此,您必须修改插件,以便更好地找到开发人员来完成这项工作。