Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] IF w zależności od innego tagu/funkcji.
Forum PHP.pl > Forum > Przedszkole
dolby
Witam serdecznie,

Niestety jestem prawie zielony w PHP, cały pół dnia szukam, kombinuje i niestety nie mogę osiągnąć zamierzonego celu, a mianowicie:

System Wordpress oferuje taki tag: the_author_description()
Wyświetla on opis, który użytkownik ustawia sobie w profilu.

Tag ten (opis) otoczyłem XHTML'em, więc wygląda on tak:
  1. <p>O sobie:
  2. <q cite="<?php the_author(); ?>">
  3. <?php the_author_description(); ?>
  4. </q>.</p>


Teraz cała zabawa polega na tym, aby PHP'ek po stwierdzeniu, że tag the_author_description() jest pusty , w ogóle nic nie wyświetlał (żadnego
  1. <p>O sobie:
  2. <q cite="<?php the_author(); ?>">
  3. <?php the_author_description(); ?>
  4. </q>.</p>
)


Skleciłem coś w rodzaju:

  1. <?php if(the_author_description() != NULL){ ?>
  2. <p>O sobie: <q cite="<?php the_author(); ?>">
  3. <?php the_author_description() ?>
  4. </q>.</p>
  5. <?php }; ?>


Niestety, ani w takiej postaci, ani tysiącu innych kombinacji, które wytworzyłem albo jest tak, ze PHP wyświetla sam opis (czyli tylko efekt działania the_author_description(), beż otaczającego go XHTML'a), albo w ogóle wywala błąd parser.

Nie mam już sił ani pomysłu, jak to powinno być napisane... a chciałbym jednak, żeby cytat liniowy wyświetlał się TYLKO wtedy, gdy opis nie jest pusty.

Proszę zatem mądrzejszego ode mnie o pomoc w w/w problemie - w razie potrzeby podam dodatkowe informacje.

Pozdrawiam i przepraszam za lamerskie pytanie!
legorek
Nie możesz zrobić tego w ten sposób, ponieważ mniemam, że funkcja the_author_description() nie zwraca wartości tylko wypisuje ją na wyjście. Nie znam wordpress'a, ale taka funkcja nie zacheciłaby mnie do jego używania. Musisz przebudowac tę funkcję, albo zrobić to metodą niezbyt elegancką metodą

  1. <?php
  2. the_author_description();
  3. $the_author_description = ob_get_contents()
  4. if (!empty($the_author_description)):
  5. ?>
  6. <p>O sobie:
  7. <q cite="<?php the_author(); ?>">
  8. <?= $the_author_description ?>
  9. </q>.</p>
  10. <?php
  11. endif;
dolby
Wordpress nie jest zły, coraz większa ilość tagów jest modernizowana i pozwala na użycie wielu argumentów (?), co z kolei pozwala z nimi robić cuda... niestety te są "stare" i jest jak jest :/

Super, wszystko śmiga aż miło! smile.gif

Dzięki wielkie za pomoc (kod) smile.gif

Temat do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.