maral_hamidi 82 ارسال شده در دی 99 گزارش بازنشر ارسال شده در دی 99 سلام به دوستان. میتونید راهنماییم کنید که یک فیلتر جستجو بسازم؟ من یک پست تایپ و براش تکسونومی ساختم. حالا میخوام یک فیلتر جستجو بسازم که دسته ها یا همون term هارو لود کنه. ترم های موجود طبعا زیر دسته هم دارن. روش هایی که تست کردم همه دسته ها و زیر دسته ها رو باهم میشه توی یک سلکت باکس نمایش داد. میخوام دوتا سلکت باکس بگیرم که اولی دسته های مادر و دومی زیر دسته هارو نمایش بده. احتمالا باید ایجکس بشه تا وقتی دسته مادر انتخاب میشه در سلکت باکس دوم زیر دسته های مربوط به دسته انتخاب شده نمایش داده شن. منتظر همراهیتون هستم. لینک به ارسال
maral_hamidi 82 ارسال شده در دی 99 مالک گزارش بازنشر ارسال شده در دی 99 (ویرایش شده) در 1 ساعت قبل، maraljoon گفته است : سلام به دوستان. میتونید راهنماییم کنید که یک فیلتر جستجو بسازم؟ من یک پست تایپ و براش تکسونومی ساختم. حالا میخوام یک فیلتر جستجو بسازم که دسته ها یا همون term هارو لود کنه. ترم های موجود طبعا زیر دسته هم دارن. روش هایی که تست کردم همه دسته ها و زیر دسته ها رو باهم میشه توی یک سلکت باکس نمایش داد. میخوام دوتا سلکت باکس بگیرم که اولی دسته های مادر و دومی زیر دسته هارو نمایش بده. احتمالا باید ایجکس بشه تا وقتی دسته مادر انتخاب میشه در سلکت باکس دوم زیر دسته های مربوط به دسته انتخاب شده نمایش داده شن. منتظر همراهیتون هستم. البته تو حالت ایجکس مشکلی ندارم و انجامش دادم. فقط مشکل همون بخش سلکت باکس ها و نمایش دسته و زیر دسته هاس. من با استفاده از رادیوباکس تونستم کل دسته ها رو نمایش بدم. ولی اینکه بخوام تو دو سلکت باکس مجزا دسته و زر دسته هارو جدا کنم مشکل دارم. کد مربوط به نمایش اون ترم ها با استفاده از رادیو باکس: <?php $terms = get_terms( 'type_job', array( 'hide_empty' => false, )); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>'; echo '<li><label for="radionull"><input type="radio" name="radiofilter" id="radionull" value="null">هیچکدام</label></li>'; foreach ( $terms as $term ) { echo '<li><label for="radio'.$term->term_id.'"><input type="radio" name="radiofilter" id="radio'.$term->term_id.'" value="'.$term->term_id.'">'.$term->name.'</label></li>'; } echo '</ul>'; } ?> ویرایش شده دی 99 توسط maraljoon لینک به ارسال
maral_hamidi 82 ارسال شده در بهمن 99 مالک گزارش بازنشر ارسال شده در بهمن 99 در در ۱۳۹۹/۱۰/۲۸ در 14:31، maraljoon گفته است : با این روش تونستم همه دسته هارو یکجا نمایش بد. ولی هنوز نمیدونم چطوری بدیلش کنم به دو سلکت باکس و دسته های مادر و زیر دسته هارو از هم جدا کنم. <select name="filter_design"> <?php $category_options = array( '0' => 'همه دسته ها' ); $cats = wp_list_pluck(get_terms(array( 'taxonomy' => 'type_job', 'hide_empty' => false )), 'name', 'term_id'); $category_options = $category_options + $cats; ?> <option selected disabled hidden>انتخاب دسته بندی</option> <?php foreach($category_options as $value => $label) { echo '<option '.selected($_GET['filter_design'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>'; } ?> لینک به ارسال
yazdaniwp 1187 ارسال شده در بهمن 99 گزارش بازنشر ارسال شده در بهمن 99 در 7 ساعت قبل، maraljoon گفته است : با این روش تونستم همه دسته هارو یکجا نمایش بد. ولی هنوز نمیدونم چطوری بدیلش کنم به دو سلکت باکس و دسته های مادر و زیر دسته هارو از هم جدا کنم. <select name="filter_design"> <?php $category_options = array( '0' => 'همه دسته ها' ); $cats = wp_list_pluck(get_terms(array( 'taxonomy' => 'type_job', 'hide_empty' => false )), 'name', 'term_id'); $category_options = $category_options + $cats; ?> <option selected disabled hidden>انتخاب دسته بندی</option> <?php foreach($category_options as $value => $label) { echo '<option '.selected($_GET['filter_design'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>'; } ?> سلام. باید برای باکس اول چک کنید که والد داره یا نه: <select name="filter_design"> <?php $args = array( 'orderby' => 'name', 'order' => 'ASC', 'parent' => 0, ); $cats = get_categories( $args ); ?> <option value="0">انتخاب دسته بندی</option> <?php foreach( $cats as $cat ) { sprintf( '<option value="%s">%s</option>', $cat->term_id, $cat->name ); } ?> </select> حالا دو حالت دارید برای نمایش فرزندها: 1- کل زیر دسته ها فارغ از اینکه چند سطح باشن رو لیست کنید: <?php $args = array( 'child_of' => 5 // آیدی دسته والد ); $cats = get_categories( $args ); ?> <option value="0">انتخاب دسته بندی</option> <?php foreach( $cats as $cat ) { sprintf( '<option value="%s">%s</option>', $cat->term_id, $cat->name ); } ?> 2- فقط زیر دسته های سطح اول رو بگیرید: <?php $args = array( 'parent' => 5 // آیدی دسته والد ); $cats = get_categories( $args ); ?> <option value="0">انتخاب دسته بندی</option> <?php foreach( $cats as $cat ) { sprintf( '<option value="%s">%s</option>', $cat->term_id, $cat->name ); } ?> دیگه بخش ایجکس رو خودتون زحمتش رو بکشید فقط توجه داشته باشید که تابع sprintf رو داخل ایجکس استفاده نکنید. 5 لینک به ارسال
maral_hamidi 82 ارسال شده در بهمن 99 مالک گزارش بازنشر ارسال شده در بهمن 99 در 14 ساعت قبل، yazdaniwp گفته است : ... دیگه بخش ایجکس رو خودتون زحمتش رو بکشید فقط توجه داشته باشید که تابع sprintf رو داخل ایجکس استفاده نکنید. سلام.ممنون از راهنماییتون متسافانه خیلی متوجه نشدم چیکار کنم. تو حالت اول فقط اومدم parent => 0 که گفتید رو به کد خودم اضافه کردم که دسته های والد رو لیست میکنه. تا اینجا مشکلی نیست. تو حالت دوم برای ایجاد یک سلکت باکس دیگه که بتونم زیر دسته هارو لیست کنم و از ایجکس استفاده کنم مشکل دارم. و نمیدونم چطور اینکارو کنم لینک به ارسال
yazdaniwp 1187 ارسال شده در بهمن 99 گزارش بازنشر ارسال شده در بهمن 99 در 6 ساعت قبل، maraljoon گفته است : سلام.ممنون از راهنماییتون متسافانه خیلی متوجه نشدم چیکار کنم. تو حالت اول فقط اومدم parent => 0 که گفتید رو به کد خودم اضافه کردم که دسته های والد رو لیست میکنه. تا اینجا مشکلی نیست. تو حالت دوم برای ایجاد یک سلکت باکس دیگه که بتونم زیر دسته هارو لیست کنم و از ایجکس استفاده کنم مشکل دارم. و نمیدونم چطور اینکارو کنم سلام. خواهش میکنم. برای گام اول که کلا نیازی به کد خودتون نیست. کل کد رو براتون نوشتم. برای بخش دومش هم باید با jquery روی رویداد change مربوط به select اولی، مقدار انتخابی رو بگیرید و بفرستید. بعد کد دوم یا سوم رو بذارید بدون sprintf و با یه متغیر که اطلاعات رو هر دفعه بهش اضافه کنید و در آخر خروجی رو بفرستید برای صفحه. 2 لینک به ارسال
maral_hamidi 82 ارسال شده در بهمن 99 مالک گزارش بازنشر ارسال شده در بهمن 99 (ویرایش شده) در 9 ساعت قبل، yazdaniwp گفته است : سلام. خواهش میکنم. برای گام اول که کلا نیازی به کد خودتون نیست. کل کد رو براتون نوشتم. برای بخش دومش هم باید با jquery روی رویداد change مربوط به select اولی، مقدار انتخابی رو بگیرید و بفرستید. بعد کد دوم یا سوم رو بذارید بدون sprintf و با یه متغیر که اطلاعات رو هر دفعه بهش اضافه کنید و در آخر خروجی رو بفرستید برای صفحه. خیلی متوجه کارکرد کدی که لطف کردید نشدم. نوع تاکسونومی رو هم بهش اضافه کردم ولی اصلا دسته هارو نمایش نمیده. ویرایش شده بهمن 99 توسط maraljoon لینک به ارسال
maral_hamidi 82 ارسال شده در بهمن 99 مالک گزارش بازنشر ارسال شده در بهمن 99 تو انجمن هم خیلی سرچ کردم و حتی سایت های خارجی. نمیدونم چرا نتونستم موردی به این سادگی رو پیدا کنم. شاید دقیقا نمیدونم چیو جستجو کنم. که دو تا سلکت باکس داشته باشم یکی دسته های مادر و با انتخاب هر دسته مادر در سلکت باکس دوم دسته های فرزند نمایان بشن. لینک به ارسال
milad-day 41 ارسال شده در بهمن 00 گزارش بازنشر ارسال شده در بهمن 00 اتصال دو select box به یکدیگر، در جاوااسکریپت: <!DOCTYPE html> <html> <body> <h1>Two HTML-select boxes linked to each other</h1> <p>see:</p> <select id="sel1" onchange="giveSelection(this.value)"> <option value="cars">cars</option> <option value="fruit">fruit</option> </select> <select id="sel2"> <option data-option="cars">BMW</option> <option data-option="cars">Pride</option> <option data-option="cars">Benz</option> <option data-option="fruit">Banana</option> <option data-option="fruit">Apple</option> <option data-option="fruit">Orange</option> </select> <script> var sel1 = document.querySelector('#sel1'); var sel2 = document.querySelector('#sel2'); var options2 = sel2.querySelectorAll('option'); function giveSelection(selValue) { sel2.innerHTML = ''; for(var i = 0; i < options2.length; i++) { if(options2[i].dataset.option === selValue) { sel2.appendChild(options2[i]); } } } giveSelection(sel1.value); </script> </body> </html> 1 لینک به ارسال
maral_hamidi 82 ارسال شده در بهمن 00 مالک گزارش بازنشر ارسال شده در بهمن 00 در در ۱۴۰۰/۱۱/۱۴ در 22:47، milad-day گفته است : اتصال دو select box به یکدیگر، در جاوااسکریپت: سلام.ممنون چطور میشه دسته و زیر دسته هارو نمایش داد به جای این سلکت باکس ها؟ لینک به ارسال
milad-day 41 ارسال شده در بهمن 00 گزارش بازنشر ارسال شده در بهمن 00 زنده باشید چیزی که من براتون قرار دادم، بخشی از راه حل این مسئله هستش که به کدنویسی js مربوط میشه. مسئله شما سه بخش داره: 1) ایجاد داده های اولیه مورد نیاز بوسیله پرسمان سفارشی 2) ایجاد رابط کاربری تعاملی (کدهایی که من نوشتم) 3) ارسال درخواست AJAX و پیاده سازی نمایش داده های برگشتی لینک به ارسال
هادی خانزاده 103 ارسال شده در بهمن 00 گزارش بازنشر ارسال شده در بهمن 00 در در ۱۴۰۰/۱۱/۲۱ در 13:38، maral_hamidi گفته است : سلام.ممنون چطور میشه دسته و زیر دسته هارو نمایش داد به جای این سلکت باکس ها؟ به نظرم کارتون خیلی آسون تر از این حرفاست. ولی تو این تاپیک پیچیده شده. ی بار دیگه منظورتون رو توضیح بدین و کدهایی هم که تا حالا نوشتین و قرار بدین تا راحت تر بتونیم راهنمایی کنیم. موفق و پیروز باشید. لینک به ارسال
Mobin 1669 ارسال شده در تیر 01 گزارش بازنشر ارسال شده در تیر 01 ببینین شما اول باید لیست دسته های والد اصلی رو نشون بودین همنطور که دوستان گفتن با مقدار parent=>0 خب حالا با انتخاب هر ایتم باید با ajax یه درخواست بفرستین به admin-ajax.php که این دسته بندی با ایدی X انتخاب شد حالا شما تو کد ajax تون باید لیست زیر دسته اون دسته X رو میفرستین و تو سلکت باکش دوم نمایش میدین لینک به ارسال
پست های پیشنهاد شده
لطفا برای ارسال دیدگاه وارد شوید
شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید
ورود به حساب کاربری