[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрет вывода информации на экран.
RCuPeR
В общем ситуация такая:
Есть функция meta($a); которая в любом случае выводит информацию на экран.
Но, дело в том, что мне эту информацию выводить не нужно, мне нужно оперировать ею.
Вот пример:
                    <?php
$product_id = array(
0 => meta('product1'),
1 => meta('product2'),
2 => meta('product3')
);



print_r($product_id);
?>


Выводит следующее:
545156Array ( [0] => [1] => [2] => )


В первом ключе значение 54, во втором 51, в третьем 56.

Пробовал как советовал Winston, вот, что получилось:
                    <?php
ob_start();
$product_id = array(
0 => meta('product1'),
1 => meta('product2'),
2 => meta('product3')
);


ob_end_clean();
print_r($product_id);
?>


Array ( [0] => [1] => [2] => )




Спустя 3 минуты, 55 секунд (28.11.2011 - 17:43) inpost написал(а):
RCuPeR
Бери код и правь meta, либо используй так:
ob_start;
meta('product1');
$meta1 = ob_content (?);
ob_end_clean();

и так для каждой :)
А потом в формировании массива подставляй.

А вообще, это называется КОСТЫЛЬ, правильно - изменить саму функцию, чтобы она занималась не выводом, в return делала, или в крайнем случае и RETURN и ВЫВОД, тогда она бы работала в том стиле, как сделал ты!

Спустя 5 секунд (28.11.2011 - 17:43) Winston написал(а):
ob_start();
$product_id = array(
0 => meta('product1'),
1 => meta('product2'),
2 => meta('product3')
);

print_r($product_id);
$data = ob_get_contents();
ob_end_clean();
echo $data;

Спустя 5 минут, 54 секунды (28.11.2011 - 17:49) Игорь_Vasinsky написал(а):
                        ob_start();
$product_id = array(
0 => 'product1',
1 => 'product2',
2 => 'product3'
);
echo $str = implode("||", $product_id);

$bufer = ob_get_contents();
ob_end_clean();

$product_id = explode("||", $bufer);

echo '<pre>' . print_r($product_id, 1) . '</pre>';


бред какой то...

Спустя 1 минута, 57 секунд (28.11.2011 - 17:51) RCuPeR написал(а):
inpost, не могу править саму функцию. Дело в том, что это базовая функция WordPress, боюсь, нарушив ее, по одному месту пойдет все остальное...

Winston, Игорь_Vasinsky, попробую.

Спустя 48 секунд (28.11.2011 - 17:51) RCuPeR написал(а):
Цитата (Winston @ 28.11.2011 - 14:43)
ob_start();
$product_id = array(
0 => meta('product1'),
1 => meta('product2'),
2 => meta('product3')
);

print_r($product_id);
$data = ob_get_contents();
ob_end_clean();
echo $data;

Тоже самое:
545156Array ( [0] => [1] => [2] => )

Спустя 2 минуты, 8 секунд (28.11.2011 - 17:53) RCuPeR написал(а):
Цитата (Игорь_Vasinsky @ 28.11.2011 - 14:49)
                        ob_start();
$product_id = array(
0 => 'product1',
1 => 'product2',
2 => 'product3'
);
echo $str = implode("||", $product_id);

$bufer = ob_get_contents();
ob_end_clean();

$product_id = explode("||", $bufer);

echo '<pre>' . print_r($product_id, 1) . '</pre>';


бред какой то...



<?php
ob_start();
$product_id = array(
0 => meta('product1'),
1 => meta('product2'),
2 => meta('product3')
);

echo $str = implode("||", $product_id);

$bufer = ob_get_contents();
ob_end_clean();

$product_id = explode("||", $bufer);

echo '<pre>' . print_r($product_id, 1) . '</pre>';
?>


Вывел:
Array
(
[0] => 545156
[1] =>
[2] =>
)

Спустя 2 минуты, 29 секунд (28.11.2011 - 17:56) inpost написал(а):
RCuPeR
Покажи эту функцию, сейчас исправим так, что всё будет как надо!

Спустя 2 минуты, 1 секунда (28.11.2011 - 17:58) RCuPeR написал(а):
Мужики, прошу прощения, нужно отойти на полчасика.

Спустя 1 минута, 4 секунды (28.11.2011 - 17:59) inpost написал(а):
RCuPeR
Выложишь функцию, исправим в 2 секунды. WordPress -это лишь ИНСТРУМЕНТ разработчика. Не блондинки, не секретарши, не дизайнера, а программиста, чтобы ты мог сам как тебе надо править.

Спустя 4 минуты, 51 секунда (28.11.2011 - 18:04) Игорь_Vasinsky написал(а):
я meta() убрал в массиве - видел

что я сделал.

я твой вывод убрал в буфер не ввиде массива, а ввиде строки, т.к. ты сказал что будешь ещё этот вывод использовать - я потом обратно собрал в массив.

Спустя 24 минуты, 43 секунды (28.11.2011 - 18:29) RCuPeR написал(а):
Пилять, не могу найти эту функцию в ВП((((

Спустя 3 минуты, 55 секунд (28.11.2011 - 18:33) RCuPeR написал(а):
0_о В ВП вообще нету такой функции страница в кодексе.

Спустя 1 минута, 49 секунд (28.11.2011 - 18:34) Winston написал(а):
Цитата (RCuPeR @ 28.11.2011 - 17:33)
В ВП вообще нету такой функции

Самопальная походу.

Спустя 1 минута, 50 секунд (28.11.2011 - 18:36) RCuPeR написал(а):
mad.gif mad.gif mad.gif mad.gif
На этом минте файлзилла не пашет, только пытаюсь сделать бекап сайта с сервера на машину - выбивает.

Ща разберемся.

Спустя 3 минуты (28.11.2011 - 18:39) RCuPeR написал(а):
Цитата (Winston @ 28.11.2011 - 15:34)
Цитата (RCuPeR @ 28.11.2011 - 17:33)
В ВП вообще нету такой функции

Самопальная походу.

Вот хочу влить весь сайт, проверить, может она где-то в плагинах сидит, а файлзилла не работает((

Спустя 27 секунд (28.11.2011 - 18:40) Winston написал(а):
Цитата (RCuPeR @ 28.11.2011 - 17:39)
а файлзилла не работает((

Качай WinScp

Спустя 3 минуты, 44 секунды (28.11.2011 - 18:43) RCuPeR написал(а):
Цитата (Winston @ 28.11.2011 - 15:40)
Цитата (RCuPeR @ 28.11.2011 - 17:39)
а файлзилла не работает((

Качай WinScp

Эм...Я под убунтой (точнее Минтом).

Спустя 2 минуты, 27 секунд (28.11.2011 - 18:46) Winston написал(а):
Ааа...

Спустя 1 минута, 34 секунды (28.11.2011 - 18:47) RCuPeR написал(а):
Цитата (Winston @ 28.11.2011 - 15:46)
Ааа...

Ставлю клиент, надеюсь вытянет сайтег wink.gif

Спустя 45 минут, 3 секунды (28.11.2011 - 19:32) RCuPeR написал(а):
Нашел, вот она, рыба моей мечты:
function get_meta ($meta, $id = '') {	
global $post;
if ($id) $meta = get_post_meta($id, $meta, true);
else {
$id = (get_the_id()) ? get_the_id() : $post->ID;
$meta = get_post_meta($id, $meta, true);
}
return $meta;
}
function meta ($meta, $id = '') { echo get_meta($meta, $id); }


Только тут совсем не то, что я ожидал.



Спустя 2 минуты, 37 секунд RCuPeR написал(а):
А хотя, то!



Спустя 10 минут, 58 секунд RCuPeR написал(а):
Все, проблема решена. Всем спасибо за отзывчивость !

Спустя 44 минуты, 27 секунд (28.11.2011 - 20:17) inpost написал(а):
function meta ($meta, $id = '') { echo get_meta($meta, $id); }

Меняешь на:
function meta ($meta, $id = '') {$temp = get_meta($meta, $id); echo $temp; return $temp; }

Теперь у тебя и возвращается, и выводится.

Спустя 6 минут, 47 секунд (28.11.2011 - 20:24) RCuPeR написал(а):
Цитата (inpost @ 28.11.2011 - 17:17)
function meta ($meta, $id = '') { echo get_meta($meta, $id); }

Меняешь на:
function meta ($meta, $id = '') {$temp = get_meta($meta, $id); echo $temp; return $temp; }

Теперь у тебя и возвращается, и выводится.

Так же сделал. Все работает на УРА !


_____________
Гнусный социопат с комплексом Бога.
Быстрый ответ:

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