4ответ(ов) в теме
СалюТ всем форумчанам, возник такой вопрос как можно расширить стандартный фильтр заявок на кастомный (добвляешь дополнительные поля в форме публикации вот на них добавить фильтр) как я понял визаульно все работает ниже прикрепил код как сделать теперь чтобы все выводилось в фильтре
<?php add_shortcode('fng-search-form', 'fng_get_search_form'); function fng_get_search_form($atts = false){ global $wpdb; extract(shortcode_atts(array( 'type'=> 'vertical' ), $atts)); $maxPrice = $wpdb->get_var("SELECT MAX(cast(postmeta.meta_value as unsigned)) FROM $wpdb->postmeta AS postmeta " . "INNER JOIN $wpdb->posts AS posts ON postmeta.post_id=posts.ID " . "WHERE posts.post_type = 'task' " . "AND posts.post_status='publish' " . "AND postmeta.meta_key='fng-price'"); $terms = get_terms( array( 'taxonomy' => 'task-subject', 'hide_empty' => false, 'parent' => 0 ) ); $category = array(); foreach($terms as $term){ $category[$term->term_id] = $term->name; } $fields = array( array( 'type' => 'text', 'slug' => 'fs', 'default' => isset($_GET['fs'])? $_GET['fs']: '', 'title' => __('Поиск по слову'), 'placeholder' => __('Поиск...') ), array( 'type' => 'select', 'slug' => 'fstatus', 'title' => __('Статус закупки'), 'values' => array( 0 => __('Все задания'), 1 => __('Подбор исполнителя'), 2 => __('В работе'), 5 => __('Завершено') ), 'default' => isset($_GET['fstatus'])? $_GET['fstatus']: '', ), array( 'type' => 'select', 'slug' => 'fsubject', 'title' => __('Категория'), 'default' => isset($_GET['fsubject'])? $_GET['fsubject']: '', 'values' => $category ), array( 'type' => 'select', 'slug' => 'vid_zakupki_31', 'title' => __('Вид закупки'), 'values' => array( 1 => __('СМР'), 0 => __('ТИЦ'), 2 => __('Услуги'), ), 'default' => isset($_GET['vid_zakupki_31'])? $_GET['vid_zakupki_31']: '', ), array( 'type' => 'select', 'slug' => 'vid_tru_57', 'title' => __('Вид ТРУ'), 'values' => array( 1 => __('ИТ Услуги'), 0 => __('Все виды ТРУ'), 2 => __('Услуги'), ), 'default' => isset($_GET['vid_tru_57'])? $_GET['vid_tru_57']: '', ), array( 'type' => 'select', 'slug' => 'region_postavki_68', 'title' => __('Регион поставки'), 'values' => array( 1 => __('Астана'), 0 => __('Алматы'), 2 => __('Другие регионы'), ), 'default' => isset($_GET['region_postavki_68'])? $_GET['region_postavki_68']: '', ), array( 'type' => 'range', 'slug' => 'fprice', 'title' => __('Стоимость'), 'value_max' => ($maxPrice && $maxPrice > 5000)? $maxPrice: 5000, 'value_step' => 100, 'default' => isset($_GET['fprice'])? $_GET['fprice']: '', ), array( 'type' => 'radio', 'slug' => 'forderby', 'title' => __('Сортировка по'), 'values' => array( 'date' => __('дате'), 'price' => __('стоимости') ), 'default' => isset($_GET['forderby'])? $_GET['forderby']: '', ), array( 'type' => 'radio', 'slug' => 'forder', 'title' => __('Вывод по'), 'values' => array( 'DESC' => __('убыванию'), 'ASC' => __('возрастанию') ), 'default' => isset($_GET['forder'])? $_GET['forder']: '', ) ); $fields = apply_filters('fng_search_fields', $fields); $content = '<div class="fng-search-form type-'.$type.'">'; $content .= rcl_get_form(array( 'fields' => $fields, 'method' => 'get', 'action' => get_post_type_archive_link('task'), 'submit' => __('Найти задание') )); $content .= '</div>'; return $content; }
Редакции сообщения
22.11.2018 16:39Причина: не указано
Вы не имеете права на публикацию сообщений в этой теме