Avatar billede jdjensen Juniormester
16. december 2012 - 23:15 Der er 8 kommentarer og
2 løsninger

Afvikle wordpress template tag imellem html tags

Hej,

Er lidt i tvivl om hvordan jeg får wordpress til at afvikle template tagget <?php single_cat_title(); ?> i nedenstående if-sætning imellem <h1> html-taggene? Er der en der kan hjælpe?

if(is_category()){print '<h1><?php single_cat_title(); ?></h1>' ;} ?>
Avatar billede NielsErikP Mester
16. december 2012 - 23:57 #1
Hej..

Er det ikke bare sådan :


if(is_category()){print ' <h1>'<?php single_cat_title();?>'</h1>' ;} ?>


Avatar billede jdjensen Juniormester
17. december 2012 - 00:20 #2
Hej,

Det prøvede jeg også men virker/validerer desværre ikke...
Avatar billede NielsErikP Mester
17. december 2012 - 00:51 #3
Hej..

Prøv at vise lidt mere kode, hvor starter denne :



if(is_category()){print ' <h1>'<?php single_cat_title();?>'</h1>' ;} ?>  


Avatar billede danco Nybegynder
17. december 2012 - 16:00 #4
Uden at vide noget specielt om wordpress, hvis det er ganske almindelig php med et funktionskald så skal det være som nedenstående..
Det forudsætter naturligvis at single_cat_title() returnerer en string som kan printes..

<?php
if(is_category()){
    print ' <h1>'. single_cat_title(). '</h1>' ;
}

?>
Avatar billede jdjensen Juniormester
18. december 2012 - 00:22 #5
danco: Tæt på men den udskriver det som:

Teksten<h1></h1>

Skal bare have "Teksten" ind imellem de 2 tags nu. :-)

Her lidt mere af koden:
<?php if(is_category()){print '<h1>'.single_cat_title().'</h1>' ;} ?>
Avatar billede NielsErikP Mester
18. december 2012 - 00:32 #6
Hej..

Prøv med echo istedet for print.
Avatar billede jdjensen Juniormester
18. december 2012 - 00:57 #7
Det giver desværre det samme resultat. Hmm forstår ik' den springer ud af html-taggene for har en lignende if-sætning og der bliver teksten sat fint ind imellem h1-taggene:

<?php $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); ?>
if(is_author()){print '<h1>Om '.$curauth->nickname.'</h1>';}

Så hvorfor virker denne ikke:
<?php if(is_category()){print '<h1>'.single_cat_title().'</h1>' ;} ?>
Avatar billede NielsErikP Mester
18. december 2012 - 21:00 #8
Hej...

Hvad sker der i denne : single_cat_title() ...
Hvad er det lige den laver??

Og prøv iøvrigt lige at echo samtlige sætninger:



<?php
  if(is_category()){
      echo '<h1>';
      echo single_cat_title();
      echo '</h1>';
  }
?>

Avatar billede jdjensen Juniormester
18. december 2012 - 22:51 #9
Okay, har løst det ved at lave det ved skrive titlen i en variabel ($current_category):

<?php $current_category = single_cat_title("", false); ?>

Og så gøre følgende:

if(is_category()){print '<h1> '.$current_category.'</h1>';} ?>

---

Mange tak til jer begge for hjælpen. Hvis du vil dele points med danco er du velkommen til at lægge et svar. :-)

God jul. :-)
Avatar billede NielsErikP Mester
19. december 2012 - 00:01 #10
Hej..

Godt du fik det løst :-)
Og hermed et svar.

God jul til dig også :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester