我需要在右后方的后端更改“产品类别”部分,并选择下拉菜单。
有人知道,我怎么能在woocommerce中做到这一点?
谢谢
加布
编辑:
我有这样的类别结构:
courses (primary category)
-french (sub-category)
-english (sub-category)
--ireland (sub-category)
---Cork (sub-category)
---- school (sub-category)
如果可能的话我需要过滤每个子类别,之后我在层次结构中选择了上面的类别。
这就是我修改你的代码
答案 0 :(得分:0)
您可以尝试使用此代码(您可以将此代码放入主题'的function.php文件中):
add_filter( 'woocommerce_taxonomy_args_product_cat', 'add_callback_for_product_cat' );
function add_callback_for_product_cat( $args ) {
$args['meta_box_cb'] = 'replace_with_product_categories_dropdown';
return $args;
}
function replace_with_product_categories_dropdown( $post, $box ) {
$defaults = array( 'taxonomy' => 'category' );
if ( ! isset( $box['args'] ) || ! is_array( $box['args'] ) ) {
$args = array();
} else {
$args = $box['args'];
}
$r = wp_parse_args( $args, $defaults );
$tax_name = esc_attr( $r['taxonomy'] );
$taxonomy = get_taxonomy( $r['taxonomy'] );
?>
<div id="taxonomy-<?php echo $tax_name; ?>" class="categorydiv">
<ul id="<?php echo $tax_name; ?>-tabs" class="category-tabs">
<li class="tabs"><a href="#<?php echo $tax_name; ?>-all"><?php echo $taxonomy->labels->all_items; ?></a></li>
<li class="hide-if-no-js"><a href="#<?php echo $tax_name; ?>-pop"><?php _e( 'Most Used' ); ?></a></li>
</ul>
<div id="<?php echo $tax_name; ?>-pop" class="tabs-panel" style="display: none;">
<ul id="<?php echo $tax_name; ?>checklist-pop" class="categorychecklist form-no-clear" >
<?php $popular_ids = wp_popular_terms_checklist( $tax_name ); ?>
</ul>
</div>
<div id="<?php echo $tax_name; ?>-all" class="tabs-panel">
<?php
$name = ( $tax_name == 'category' ) ? 'post_category' : 'tax_input[' . $tax_name . ']';
echo "<input type='hidden' name='{$name}[]' value='0' />"; // Allows for an empty term set to be sent. 0 is an invalid Term ID and will be ignored by empty() checks.
$wp_dropdown_categories_args = array(
'hierarchical' => 1,
'name' => 'product_cat_select',
'id' => 'product_cat_select',
'class' => 'postbox',
'taxonomy' => 'product_cat'
);
wp_dropdown_categories( $wp_dropdown_categories_args );
?>
</div>
<?php if ( current_user_can( $taxonomy->cap->edit_terms ) ) : ?>
<div id="<?php echo $tax_name; ?>-adder" class="wp-hidden-children">
<h4>
<a id="<?php echo $tax_name; ?>-add-toggle" href="#<?php echo $tax_name; ?>-add" class="hide-if-no-js">
<?php
/* translators: %s: add new taxonomy label */
printf( __( '+ %s' ), $taxonomy->labels->add_new_item );
?>
</a>
</h4>
<p id="<?php echo $tax_name; ?>-add" class="category-add wp-hidden-child">
<label class="screen-reader-text" for="new<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->add_new_item; ?></label>
<input type="text" name="new<?php echo $tax_name; ?>" id="new<?php echo $tax_name; ?>" class="form-required form-input-tip" value="<?php echo esc_attr( $taxonomy->labels->new_item_name ); ?>" aria-required="true"/>
<label class="screen-reader-text" for="new<?php echo $tax_name; ?>_parent">
<?php echo $taxonomy->labels->parent_item_colon; ?>
</label>
<?php wp_dropdown_categories( array( 'taxonomy' => $tax_name, 'hide_empty' => 0, 'name' => 'new' . $tax_name . '_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $taxonomy->labels->parent_item . ' —' ) ); ?>
<input type="button" id="<?php echo $tax_name; ?>-add-submit" data-wp-lists="add:<?php echo $tax_name; ?>checklist:<?php echo $tax_name; ?>-add" class="button category-add-submit" value="<?php echo esc_attr( $taxonomy->labels->add_new_item ); ?>" />
<?php wp_nonce_field( 'add-' . $tax_name, '_ajax_nonce-add-' . $tax_name, false ); ?>
<span id="<?php echo $tax_name; ?>-ajax-response"></span>
</p>
</div>
<?php endif; ?>
</div>
<?php
}
希望这会有所帮助。