Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с функцией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: пишу функцию
pi3dot14
Отправлено: 09 Марта, 2016 - 07:23:28
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




Здравствуйте!
Пишу функцию вывода хлебных крошек по плагину(SEO yoast в wordpress), суть ее выводить хк везде кроме морды сайта. Столкнулся со следующей проблемой.
Работает как надо:
function my_breadcrumb_yoast(){
if ( !is_home () )
{
echo "<div class = \"container\">";
echo "<div class=\"wrapper_breadcrumbs\">";
if ( function_exists( 'yoast_breadcrumb' ) ) {
htmlentities(yoast_breadcrumb());
echo "</div>";
echo "</div>";
}
}
}

Работает не так как надо(выводит тэги, а рез. функ. yoast_breadcrumb() выводит выше их):
function my_breadcrumb_yoast(){
if ( !is_home () )
{
$output = "<div class = \"container\">";
$output .= "<div class=\"wrapper_breadcrumbs\">";
if ( function_exists( 'yoast_breadcrumb' ) ) {
htmlentities(yoast_breadcrumb());
$output .= "</div>";
$output .= "</div>";
return $output;
}
}
}
Я новичек в программировании, знаю, что плохо когда функция в теле имеет вывод echo , но почему то, когда я в переменную записываю и возвращаю ее все перекошено. Помогите понять в чем ошибка, до меня не доходит.
На всякий случай скину код который возвращает yoast_breadcrumb() при неправильной работе:
<!--beginBreadcrumbs-->
<span xmlns:v="http://rdf.data-vocabulary.org/#">
<span typeof="v:Breadcrumb">
<a href="#" rel="v:url" property="v:title">
Главная страница
</a> »
<span class="breadcrumb_last">
xxxxx
</span>
</span>
</span>
<div class = "container">
<div class="wrapper_breadcrumbs">
</div></div>
<!--endBreadcrumbs-->
 
 Top
freelsd
Отправлено: 09 Марта, 2016 - 09:11:40
Post Id


Гость


Покинул форум
Сообщений всего: 108
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




Я не знаю как работает yoast_breadcrumb(), но если вы уже пишите вывод в переменную, то наверное вывод это функции тоже нужно туда писать, не?
 
 Top
pi3dot14
Отправлено: 09 Марта, 2016 - 10:24:28
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




freelsd пишет:
Я не знаю как работает yoast_breadcrumb(), но если вы уже пишите вывод в переменную, то наверное вывод это функции тоже нужно туда писать, не?

если так:
function my_breadcrumb_yoast(){
if (!is_home())
{
$output = "<div class = \"container\">";
$output .= "<div class=\"wrapper_breadcrumbs\">";
if (function_exists( 'yoast_breadcrumb')){
$output .= yoast_breadcrumb();
$output .= "</div>";
$output .= "</div>";
return $output;
}
}
}
всеравно косо и в блоках цифра 1 появляется и все
 
 Top
freelsd
Отправлено: 09 Марта, 2016 - 10:30:04
Post Id


Гость


Покинул форум
Сообщений всего: 108
Дата рег-ции: Февр. 2015  


Помог: 1 раз(а)




pi3dot14 пишет:
freelsd пишет:
Я не знаю как работает yoast_breadcrumb(), но если вы уже пишите вывод в переменную, то наверное вывод это функции тоже нужно туда писать, не?

если так:
function my_breadcrumb_yoast(){
if (!is_home())
{
$output = "<div class = \"container\">";
$output .= "<div class=\"wrapper_breadcrumbs\">";
if (function_exists( 'yoast_breadcrumb')){
$output .= yoast_breadcrumb();
$output .= "</div>";
$output .= "</div>";
return $output;
}
}
}
всеравно косо и в блоках цифра 1 появляется и все

Ну тогда я знаю, в приведенных примерах разметка вроде идентичная. Поэтому либо на самой странице что-то не так с разметкой либо я знаю.
 
 Top
pi3dot14
Отправлено: 09 Марта, 2016 - 11:41:08
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




freelsd пишет:
pi3dot14 пишет:
freelsd пишет:
Я не знаю как работает yoast_breadcrumb(), но если вы уже пишите вывод в переменную, то наверное вывод это функции тоже нужно туда писать, не?

если так:
function my_breadcrumb_yoast(){
if (!is_home())
{
$output = "<div class = \"container\">";
$output .= "<div class=\"wrapper_breadcrumbs\">";
if (function_exists( 'yoast_breadcrumb')){
$output .= yoast_breadcrumb();
$output .= "</div>";
$output .= "</div>";
return $output;
}
}
}
всеравно косо и в блоках цифра 1 появляется и все

Ну тогда я знаю, в приведенных примерах разметка вроде идентичная. Поэтому либо на самой странице что-то не так с разметкой либо я знаю.

Вот и я хз, я могу первый вариант оставить и не париться , но интересно же, что за хрень то происходит. Ниндзя

(Отредактировано автором: 09 Марта, 2016 - 11:42:14)

 
 Top
Строитель Модератор
Отправлено: 10 Марта, 2016 - 12:09:07
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




pi3dot14 пишет:
но интересно же, что за хрень то происходит.
Мануал почитайте, сразу понятие придёт. По коду - попробуйте так
PHP:
скопировать код в буфер обмена
  1.  
  2. function my_breadcrumb_yoast() {
  3.     if (is_home()) return false;
  4.     $output = '<div class="container">'.
  5.         '<div class="wrapper_breadcrumbs">';
  6.     if (function_exists('yoast_breadcrumb')) {
  7.         $output .= yoast_breadcrumb();
  8.     }
  9.     $output .= '</div></div>';
  10.    
  11.     return $output;
  12. }
  13.  
  14.  
  15.  
  16. echo my_breadcrumb_yoast();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB