سلام
داخل افزونه wp user frontend اومده از wp_dropdown_categories استفاده کرده که داخل drop down اول دسته های اصلی و داخل دومی زیر دسته هاشو نشون میده.
یه صفحه ویرایش داره که وقتی روی دکمه ویرایش هر پستی میزنی داخل صفحه ویرایشش داخل drop down اولی دسته مادر که قبلا انتخاب کردی رو میاره ولی داخل drop down دومی زیر دسته ای که قبلا انتخاب شده رو نشون نمیده.
من کد به کد رفتم جلو اینجوری بود که
این کد رو داخل صفحه ای هست که کاربر می تونه ببینه و دسته های مادر رو داخل drop down اولی نشون میده
wp_dropdown_categories( 'show_option_none=' . __( '-- Select --', 'wpuf' ) . '&hierarchical=1&hide_empty=0&orderby=name&name=category[]&id=cat-ajax&show_count=0&title_li=&use_desc_for_title=1&class=cat requiredField&depth=1&exclude=' . $exclude . '&selected=' . $selected );
داخل صفحه جاواا که داره این که با دستور post آیدی دسته مادر رو می فرسته به صفحه بعدی که کداشو زیر این کدای جاوا قرار دادم.
ajaxCategory: function () {
var el = '#cat-ajax',
wrap = '.category-wrap';
//alert (el);
$(el).parent().attr('level', 0);
if ($( wrap + ' ' + el ).val() > 0) {
WPUF_Obj.getChildCats( $(el), 'lvl', 1, wrap, 'category');
}
$(wrap).on('change', el, function(){
currentLevel = parseInt( $(this).parent().attr('level') );
WPUF_Obj.getChildCats( $(this), 'lvl', currentLevel+1, wrap, 'category');
});
},
getChildCats: function (dropdown, result_div, level, wrap_div, taxonomy) {
cat = $(dropdown).val();
results_div = result_div + level;
taxonomy = typeof taxonomy !== 'undefined' ? taxonomy : 'category';
alert (cat);
$.ajax({
type: 'post',
url: wpuf.ajaxurl,
data: {
action: 'wpuf_get_child_cats',
catID: cat,
nonce: wpuf.nonce
},
یه صفحه php هم داره که از داخل کد جاوا بالایی اینا فراخوانی میشه
function get_child_cats() {
$parentCat = $_POST['catID'];
$result = '';
if ( $parentCat < 1 )
die( $result );
if ( get_categories( 'taxonomy=category&child_of=' . $parentCat . '&hide_empty=0' ) ) {
$result .= wp_dropdown_categories( 'show_option_none=' . __( '-- Select --', 'wpuf' ) . '&orderby=name&name=category[]&id=cat-ajax&order=ASC&hide_empty=0&hierarchical=1&taxonomy=category&depth=1&class=cat requiredField&depth=1&echo=0&child_of=' . $parentCat);
} else {
die( '' );
}
die( $result );
}
که من اومدم اینو . '&selected=' . $selected خودم به آخرش اضافه کردم و اون خط اینجوری شد
if ( get_categories( 'taxonomy=category&child_of=' . $parentCat . '&hide_empty=0' ) ) {
$result .= wp_dropdown_categories( 'show_option_none=' . __( '-- Select --', 'wpuf' ) . '&orderby=name&name=category[]&id=cat-ajax&order=ASC&hide_empty=0&hierarchical=1&taxonomy=category&depth=1&class=cat requiredField&depth=1&echo=0&child_of=' . $parentCat . '&selected=' . $selected );
} else {
فقط مشکلم اینه که چطوری کد زیر دسته ای که انتخاب شده رو بفرستم براش و جای $selected قرارش بدم؟؟