Здравствуй, уважаемый друг!

Кажется, ты используешь AdBlock. Этот проект развивается и существует за счет доходов от рекламы.
Добавь, пожалуйста, нас в исключения.

Спасибо за понимание.

Теперь мы команда!

Фильтр по категориям товаров в админке WP E-commerce

Автор: в категории Статьи о php 4 комментария

Данный пост написан в связи обнаружением недоработки в связке WordPress 3.2.x и WP e-Commerce 3.8.5. Хотя эта недоработка находиться именно в файлах плагина WP E-commerce версии 3.8.5, возможно в ранних версиях так же может быть замечен данный баг.

Проблема состоит в том, что в админ-панеле, в разделе «Товары», не отображается корректно список всех категорий магазина.

Сегодня мы это исправим! Итак, функция вывода списка категорий для фильтра реализована в файле display-items.page.php, который находится по адресу: wp-content/plugins/wp-e-commerce/wpsc-admin/
Итак, находим нужную нам функцию на строке ~285 под названием wpsc_cats_restrict_manage_posts_print_terms.

И вносим свои изменения и корректировки:

вместо

	$terms = get_terms( $taxonomy, array( 'parent' => $parent ) );
	if( !($terms instanceof WP_Error) && !empty($terms) )

пишем

	$terms = get_terms( $taxonomy, array('hide_empty'=>0, 'parent'=>$parent));
	if( !($terms instanceof WP_Error) && !empty($terms) ){

и не забываем добавить } (фигурную скобку) в конце функции.

Вот как выглядит готовая функция:

function wpsc_cats_restrict_manage_posts_print_terms($taxonomy, $parent = 0, $level = 0){
	$prefix = str_repeat( '   ' , $level );
// Закоментируйте, ибо может пригодиться
//	$terms = get_terms( $taxonomy, array( 'parent' => $parent ) );
//	if( !($terms instanceof WP_Error) && !empty($terms) )

// То что вставили, чтобы знали что удалить потом =)
	$terms = get_terms( $taxonomy, array('hide_empty'=>0, 'parent'=>$parent));
	if( !($terms instanceof WP_Error) && !empty($terms) ){
// Конец хака
		foreach ( $terms as $term ){
			echo '<option value="'. $term->slug . '"', ( isset($_GET[$term->taxonomy]) && $_GET[$term->taxonomy] == $term->slug) ? ' selected="selected"' : '','>' . $prefix . $term->name .' (' . $term->count .')</option>';
			wpsc_cats_restrict_manage_posts_print_terms($taxonomy, $term->term_id, $level+1);
		}
		}
}

Вроде на этом и все. Спасибо за внимание, и за то что читаете мой блог. Пробуем, пишем отзывы, если помогло — говорим «Спасибо»! 🙂
Всем удачного кодинга!

comments powered by HyperComments

Денис
2011-08-06 20:10:49
Снизу плагин в виде травы классный=)..не можешь подсказать, как называется?..или сам делал?)..если можно напиши на почту=)
Nikita_Sp
2011-08-07 10:43:03
Спасибо =) Это не плагин. Это я делал.
besha
2011-11-12 13:51:09
А не подскажите как сделать сортировку товара в самой категории? т.е. что б добавленный в последнюю очередь товар показывался сверху списка товаров, а не в конце?
Nikita_Sp
2011-11-12 21:09:11
В админке в настройках магазина вкладка вроде "Презентация". Там можно выбрать как сортировать товары в категориях. Если хотите, там есть Drag'n'Drop - сортировка перетягиваниями (Тяни и бросай - такой корявый перевод дает русификатор вроде, не помню точно). Т.е. можете выбрать D'n'Drop и потом просто войдя в админке в список продуктов, выбрать в фильтре нужную категорию и перетаскивая сортировать продукты. Других способов пока не знаю и не искал, если честно - не было надобности :)
Вверх!

Меню блога

Категории блога

Облако тегов