[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Плагин WP-Shop для Word-Press
SacredSinner
Доброго дня всем!
Существует плагин для WP под названием WP-Shop для создания интернет-магазина. Вопрос, наверное, поймут только те, кто имел с ним дело.
Так вот. Товары в нем забиваются как записи. У записей есть доп. поля. Для обозначения модификаций товара и цен на них используются поля name_N и cost_N, где N - номер поля от 1 и до... (не знаю до скольки))).
Так вот, есть там функция вывода этих товаров на витрину. Дело в том, что на витрину выводятся все модификации и цены, а нужно выводить лишь только name_1 и cost_1. То есть работает какой-то цикл, который перебирает массив. А мне бы от цикла избавиться и выводить только первые элеменыты. Я вот ни разу не программист и своими силами мне это победить не удалось.
Насколько я понял, функция вывода этих данных такая:
public function GetGoodWidget($post = null, $class = "", array $columns = array('name'=>true,'cost'=>true))
{
if ($post == null)
{
global $post;
}
$cost = false;
$cost0 = array();
$name0 = array();
$sklad0 = array();
$sklad = array();
$count0 = array();
$count = array();
$meta = get_post_custom($post->ID);
$sort_type = get_option('wpshop.sort_price');
$price_trim = get_option('wpshop.price_trim');
//Properties of good
//$meta_properties = '';
if($meta){
foreach ($meta as $key => $val)
{
if ( preg_match('/^cost_(\d+)/i', $key, $m) )
{
$cost0[$m[1]] = $val[0];
}
if ( preg_match('/^name_(\d+)/i', $key, $m) )
{
$name0[$m[1]] = $val[0];
}
if ( preg_match('/^sklad_(\d+)/i', $key, $m) )
{
$sklad0[$m[1]] = $val[0];
}
if ( preg_match('/^count_(\d+)/i', $key, $m) )
{
$count0[$m[1]] = $val[0];
}
}}

if (count($cost0) > 1){
$cost = array();
ksort($cost0);
foreach ($cost0 as $key => $val1){
if (isset($name0[$key])){
$val = $name0[$key];
}else{
$val = $key;
}
if($price_trim) {
$cost[$val] = round($cost0[$key],2);
}else {
$cost[$val] = $cost0[$key];
}

if (isset($sklad0[$key])){
$sklad[$val] = $sklad0[$key];
}

if (isset($count0[$key])){
$count[$val] = $count0[$key];
}
}

if ($sort_type==1){
asort($cost);
}
if ($sort_type==2){
arsort($cost);
}
}else if(count($cost0) > 0) {
$cost = array();
ksort($cost0);
foreach ($cost0 as $key => $val1){
if (isset($name0[$key])){
$val = $name0[$key];
}else{
$val = '';
}
if($price_trim) {
$cost[$val] = round($cost0[$key],2);
}else {
$cost[$val] = $cost0[$key];
}

if (isset($sklad0[$key])){
$sklad[$val] = $sklad0[$key];
}

if (isset($count0[$key])){
$count[$val] = $count0[$key];
}
}
}

if ($cost)
{
if ($sort_type==1){
asort($cost);
}
if ($sort_type==2){
arsort($cost);
}
ob_start();
$this->view->class = $class;
$this->view->cost = $cost;
$this->view->sklad = $sklad;
$this->view->count = $count;
$this->view->columns = $columns;
$this->view->post = $post;
$this->view->render("good.widget.inc.php");
return ob_get_clean();
}
return "";
}

Может кто-то мне подскажет что тут надо подправить? Не пинайте сильно, очень надо. Если нужны еще какие-то данные, с удовольствием предоставлю. Премного благодарен.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.