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

Кажется, ты используешь 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);
		}
		}
}

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

Вверх!

Меню блога

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

Облако тегов