WordPress как на ладони
Мощный и не дорогой хостинг от Fornex.com Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

Как делать поиск (фильтр) по названиям элементов таксономии в блоке в админке?

Собственно как сделать поиск в карточке товара или посте по таксономии. Категорий, подкатегорий, брендов очень много и будет еще больше, листать несколько сотен не вариант. Есть ли плагины или как прикрутить поиск?

Заметки к вопросу:
alexsteel 1.8 год назад

Решение найдено. Установил плагин https://ru.wordpress.org/plugins/admin-category-filter/ и все работает как надо

Kama 1.8 год назад

Какой маленький и хороший плагин!

1
1.8 год назад
  • 1
    Kama7099

    Заглянул в плагин - там все делается очень просто. И для не любителей плагинов можно реализовать весь функционал плагина в нескольких строках кода. Очень удобная штука надо сказать...

    Все что нужно сделать чтобы включить такой поиск-фильтр - это добавить такой код в файл темы functions.php:

    ## Фильтр элементо втаксономии для метабокса таксономий в админке.
    ## Позволяет удобно фильтровать (искать) элементы таксономии по назанию, когда их очень много
    add_action( 'admin_print_scripts', 'my_admin_term_filter', 99 );
    function my_admin_term_filter() {
    	$screen = get_current_screen();
    
    	if( 'post' !== $screen->base ) return; // только для страницы редактирвоания любой записи
    	?>
    	<script>
    	jQuery(document).ready(function($){
    		var $categoryDivs = $('.categorydiv');
    
    		$categoryDivs.prepend('<input type="search" class="fc-search-field" placeholder="фильтр..." style="width:100%" />');
    
    		$categoryDivs.on('keyup search', '.fc-search-field', function (event) {
    
    			var searchTerm = event.target.value,
    				$listItems = $(this).parent().find('.categorychecklist li');
    
    			if( $.trim(searchTerm) ){
    				$listItems.hide().filter(function () {
    					return $(this).text().toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1;
    				}).show();
    			}
    			else {
    				$listItems.show();
    			}
    		});
    	});
    	</script>
    	<?php
    }

    В результате получим такое поле в метабоксе рубрик:

    alexsteel 1.8 год назад

    Спасибо. Ваш вариант работает лучше. Плагин admin-category-filter ищет пункт и эго показывает, а этот код показивает всю ветку если категории в иерархическом виде http://clip2net.com/s/3HbaB9o

    kolshix 1.8 год назад

    Ахриненная штука - по аналогии вывел блок с категориями в нужно мне месте , для подглядывания - добавил нужную структуру - теперь id отлично нахожу , СПАСИБО!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация