DariushGreat 94 ارسال شده در اسفند 94 گزارش بازنشر ارسال شده در اسفند 94 سلام من با كمك واكر كاري كردم كه تكسونومي دلخواهم رو با wp_list_categories به گونه چكباكس نمايش بدم. كد واكر تبديل كننده فهرست دستهبندي به چكباكس دسته بندي: class Walker_Category_Checklist extends Walker { public $tree_type = 'category'; public $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this public function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent<ul class='children'>\n"; } public function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>\n"; } public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) { if ( empty( $args['taxonomy'] ) ) { $taxonomy = 'category'; } else { $taxonomy = $args['taxonomy']; } if ( $taxonomy == 'category' ) { $name = 'post_category'; } else { $name = 'tax_input[' . $taxonomy . ']'; } $args['popular_cats'] = empty( $args['popular_cats'] ) ? array() : $args['popular_cats']; $class = in_array( $category->term_id, $args['popular_cats'] ) ? ' class="popular-category"' : ''; $args['selected_cats'] = empty( $args['selected_cats'] ) ? array() : $args['selected_cats']; if ( ! empty( $args['list_only'] ) ) { $aria_cheched = 'false'; $inner_class = 'category'; if ( in_array( $category->term_id, $args['selected_cats'] ) ) { $inner_class .= ' selected'; $aria_cheched = 'true'; } /** This filter is documented in wp-includes/category-template.php */ $output .= "\n" . '<li' . $class . '>' . '<div class="' . $inner_class . '" data-term-id=' . $category->term_id . ' tabindex="0" role="checkbox" aria-checked="' . $aria_cheched . '">' . esc_html( apply_filters( 'the_category', $category->name ) ) . '</div>'; } else { /** This filter is documented in wp-includes/category-template.php */ $output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $args['selected_cats'] ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>'; } } public function end_el( &$output, $category, $depth = 0, $args = array() ) { $output .= "</li>\n"; } } و كدي كه باهاش نمايش ميدم: $args = array( 'taxonomy' => 'brands', 'walker' => new Walker_Category_Checklist, ); wp_list_categories( $args ); و اما كد جاوايي كه كارش اينه كه با وارسي نشاني كنوني، ميتونه اون رو به نشاني دلخواه تغيير بده: URL = document.URL; if(URL.indexOf('نشاني 1') != -1) URL = URL.replace('نشاني 1','نشاني 2'); else URL = URL.replace('نشاني 2','نشاني 1'); window.location = URL; حالا من چگونه اينا رو با هم مچ كنم تا هنگامي كه روي يك چكباكس ترم كليك كردم، اسلاگ اون چك باكس رو به نشاني اضافه كنه؟ سپاس براي راهنمايي و كمك لینک به ارسال
پست های پیشنهاد شده
لطفا برای ارسال دیدگاه وارد شوید
شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید
ورود به حساب کاربری