pashabey 0 ارسال شده در آبان 96 گزارش بازنشر ارسال شده در آبان 96 سلام دوستان خسته نباشید ممنون میشم بزرگواری کنید تو این مورد راهنماییم کنید میخوام یه فرم جستوجو بزنم مثل این فرم جستوجو اما متاسفانه کدی که تونستم پیدا کنم فقط دسته بندی وردپرس رو نشون میده نه دسته بندی افزونه EDD رو . این تیکه کد هست : <form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>"> <label> <input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" /> </label> <?php $swp_cat_dropdown_args = array( 'show_option_all' => __( 'همه' ), 'name' => 'swp_category_limiter', ); wp_dropdown_categories( $swp_cat_dropdown_args ); ?> <input type="submit" class="devmesbutton" value="بگرد" /> </form> فقط میخوام دسته بندی EDD رو نشون بده خیلی ممنونم نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آبان 96 گزارش بازنشر ارسال شده در آبان 96 سلام و درود <form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>"> <label> <input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" /> </label> <select name="filter_category"> <?php $category_options = array( 'all' => 'همه دسته ها' ); $cats = wp_list_pluck(get_terms(array( 'taxonomy' => 'download_category' )), '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_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>'; } ?> </select> <input type="submit" class="devmesbutton" value="بگرد" /> </form> موفق باشید 1 نقل قول لینک به ارسال
pashabey 0 ارسال شده در آبان 96 مالک گزارش بازنشر ارسال شده در آبان 96 در 12 دقیقه قبل، mehran-b گفته است : سلام و درود <form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>"> <label> <input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" /> </label> <select name="filter_category"> <?php $category_options = array( 'all' => 'همه دسته ها' ); $cats = wp_list_pluck(get_terms(array( 'taxonomy' => 'download_category' )), '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_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>'; } ?> </select> <input type="submit" class="devmesbutton" value="بگرد" /> </form> موفق باشید خیلی ممنونم از راهنماییتون . متاسفانه وقتی دکمه بگرد رو میزنم مطالب دسته مورد نظر نمایش داده نمیشه http://toranjgraph.ir/ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آبان 96 گزارش بازنشر ارسال شده در آبان 96 درود مجدد بله صرفا با ساخت فرم وردپرس منظور شما رو متوجه نمیشه و باید شما اطلاعات ورودی فرم رو در بک اند پردازش کنید و سپس حلقه مورد نظر رو با استفاده از نتایج بهش کوئری بدید. در تاپیک زیر توضیحاتی دادم. موفق باشید نقل قول لینک به ارسال
pashabey 0 ارسال شده در آبان 96 مالک گزارش بازنشر ارسال شده در آبان 96 در 13 دقیقه قبل، mehran-b گفته است : درود مجدد بله صرفا با ساخت فرم وردپرس منظور شما رو متوجه نمیشه و باید شما اطلاعات ورودی فرم رو در بک اند پردازش کنید و سپس حلقه مورد نظر رو با استفاده از نتایج بهش کوئری بدید. در تاپیک زیر توضیحاتی دادم. موفق باشید متوجه شدم منظورتون چی هست ولی من گرافیستم در واقع و سر رشته زیادی از دادن حلقه و کوئری ندارم تو این سایت هم فقط به همین مشکل برخوردم اگر ممکنه تیکه کد رو با راهنمایی بیشتر بدید تا جای گذاری کنم . خیلی ممنونم و تشکر میکنم . نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آبان 96 گزارش بازنشر ارسال شده در آبان 96 در 30 دقیقه قبل، pashabey گفته است : متوجه شدم منظورتون چی هست ولی من گرافیستم در واقع و سر رشته زیادی از دادن حلقه و کوئری ندارم تو این سایت هم فقط به همین مشکل برخوردم اگر ممکنه تیکه کد رو با راهنمایی بیشتر بدید تا جای گذاری کنم . تا انتهای امروز کدشو براتون میفرستم. موفق باشید نقل قول لینک به ارسال
pashabey 0 ارسال شده در آبان 96 مالک گزارش بازنشر ارسال شده در آبان 96 در 1 دقیقه قبل، mehran-b گفته است : تا انتهای امروز کدشو براتون میفرستم. موفق باشید تمام من منتظر پاسخ شما هستم این آخرین مرحله از طراحی این سایت هست اگه اینم حل بشه تمومه . بازم از لطفتون ممنونم نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آبان 96 گزارش بازنشر ارسال شده در آبان 96 در 5 ساعت قبل، pashabey گفته است : تمام من منتظر پاسخ شما هستم این آخرین مرحله از طراحی این سایت هست اگه اینم حل بشه تمومه . بازم از لطفتون ممنونم بسیار خوب. ما یه فرم داریم با دو فیلد یه فیلد نوشتاری که توش کوئری سرچ قرار داره و یه فیلد سلکت که توش دسته بندی های افزونه EDD قرار داره. خوب برای فیلد های کوئری سرچ و سلکت دو تا متغییر به کوئری ها وردپرس با کد زیر اضافه میکنیم. add_filter('query_vars', function($vars) { $vars[] = 'filter_query'; $vars[] = 'filter_category'; return $vars; }); خوب مرحله بالا باعث میشه که وردپرس بتونه مقدار این دو متغییر رو دریافتش کنه که ما بتونیم توی تابع مربوط به اکشن pre_get_posts مقدارشون رو پردازش کنیم و بنابر نتیجه حاصل شده خروجی حلقه اصلی رو تغییر بدیم. در سوال شما کد مربوط به اکشن pre_get_posts به شکل زیر میشه: add_action('pre_get_posts', function($query) { if($query->is_home() && $query->is_main_query()) { if(get_query_var('filter_category', false)) { if(get_query_var('filter_category') != "all" && is_numeric(get_query_var('filter_category'))) $query->set('cat', get_query_var('filter_category')); } if(get_query_var('filter_query', false)) { $query->set('s', get_query_var('filter_query')); } } }); خوب با قرار دادن دو کد بالا در فایل functions.php قالبتون بخش بک اِند به پایان میرسه. در بخش فرانت اِند که فرم به شکل زیر خواهد بود: <form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>"> <input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo get_query_var('filter_query', false) ? esc_attr(get_query_var('filter_query')) : ""; ?>" name="filter_query"> <select name="filter_category"> <?php $category_options = array( 'all' => 'همه دسته ها' ); $cats = wp_list_pluck(get_terms(array( 'taxonomy' => 'download_category' )), '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_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>'; } ?> </select> <input type="submit" class="devmesbutton" value="بگرد"> </form> اینم از فرم جستجو. نکته ای که باید بگم اینه که نتایج در صورتی قابل مشاهده هست که محصولات شما توسط حلقه اصلی در حال نمایش باشن. موفق باشید نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .