В настоящее время, когда вы просматриваете страницы продуктов на нашем сайте WordPress wp-e-commerce, все товары, которых нет в наличии, отображаются на всех страницах.
Чего бы мы хотели что вы можете сделать, это переместить все товары, которых нет в наличии, в конец страниц, чтобы для просмотра продуктов, которых нет в наличии, вам пришлось прокручивать все страницы, на которых были бы показаны продукты, которые есть в наличии, чтобы улучшить взаимодействие с пользователем.
Мы хотели бы иметь возможность либо придумать фильтр для использования в файле function.php, либо изменить приведенный ниже код. чтобы добиться этого:
function wpsc_product_sort_order_query_vars( $orderby = null ) {
if ( is_null( $orderby ) ) {
$orderby = get_option( 'wpsc_sort_by' );
}
$query_vars = array();
switch ( $orderby ) {
case "dragndrop":
$query_vars["orderby"] = 'menu_order';
break;
case "name":
$query_vars["orderby"] = 'title';
break;
//This only works in WP 3.0.
case "price":
add_filter( 'posts_join', 'wpsc_add_meta_table' );
add_filter( 'posts_where', 'wpsc_add_meta_table_where' );
$query_vars["meta_key"] = '_wpsc_price';
$query_vars["orderby"] = 'meta_value_num';
break;
case "id":
$query_vars["orderby"] = 'ID';
break;
default:
// Allow other WordPress 'ordery' values as defined in http://codex.wordpress.org/Class_Refere ... Parameters
$query_vars["orderby"] = $orderby;
break;
}
return $query_vars;
}
Пытался создать фильтр (все еще новичок в php, но попробовал следующее).
Если у кого-нибудь есть предложения о том, как можно изменить приведенный выше код, чтобы переместить товары, которых нет на складе, в конец страниц, или как можно изменить для этого фильтр ниже, были бы очень признательны:
add_filter('posts_clauses', 'order_by_stock_status');
function order_by_stock_status($posts_clauses) {
global $wpdb;
// only change query on wp-e-commerce loops
if (!is_admin() && (is_productQuery() || is_wpsc_product_category() || is_product_tag() || is_wpsc_cat.taxonomy_id())) {
$posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
$posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
$posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value '' " . $posts_clauses['where'];
}
return $posts_clauses;
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... -plugin-wp
Перемещение отсутствующих на складе товаров в конец страниц в плагине WP-E-Commerce (WPEC) ⇐ Php
Кемеровские программисты php общаются здесь
1716453969
Anonymous
В настоящее время, когда вы просматриваете страницы продуктов на нашем сайте WordPress wp-e-commerce, все товары, которых нет в наличии, отображаются на всех страницах.
Чего бы мы хотели что вы можете сделать, это переместить все товары, которых нет в наличии, в конец страниц, чтобы для просмотра продуктов, которых нет в наличии, вам пришлось прокручивать все страницы, на которых были бы показаны продукты, которые есть в наличии, чтобы улучшить взаимодействие с пользователем.
Мы хотели бы иметь возможность либо придумать фильтр для использования в файле function.php, либо изменить приведенный ниже код. чтобы добиться этого:
function wpsc_product_sort_order_query_vars( $orderby = null ) {
if ( is_null( $orderby ) ) {
$orderby = get_option( 'wpsc_sort_by' );
}
$query_vars = array();
switch ( $orderby ) {
case "dragndrop":
$query_vars["orderby"] = 'menu_order';
break;
case "name":
$query_vars["orderby"] = 'title';
break;
//This only works in WP 3.0.
case "price":
add_filter( 'posts_join', 'wpsc_add_meta_table' );
add_filter( 'posts_where', 'wpsc_add_meta_table_where' );
$query_vars["meta_key"] = '_wpsc_price';
$query_vars["orderby"] = 'meta_value_num';
break;
case "id":
$query_vars["orderby"] = 'ID';
break;
default:
// Allow other WordPress 'ordery' values as defined in http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
$query_vars["orderby"] = $orderby;
break;
}
return $query_vars;
}
Пытался создать фильтр (все еще новичок в php, но попробовал следующее).
Если у кого-нибудь есть предложения о том, как можно изменить приведенный выше код, чтобы переместить товары, которых нет на складе, в конец страниц, или как можно изменить для этого фильтр ниже, были бы очень признательны:
add_filter('posts_clauses', 'order_by_stock_status');
function order_by_stock_status($posts_clauses) {
global $wpdb;
// only change query on wp-e-commerce loops
if (!is_admin() && (is_productQuery() || is_wpsc_product_category() || is_product_tag() || is_wpsc_cat.taxonomy_id())) {
$posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
$posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
$posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value '' " . $posts_clauses['where'];
}
return $posts_clauses;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78518754/moving-out-of-stock-products-to-the-end-of-pages-in-the-wp-e-commerce-plugin-wp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия