if else functie

Status
Niet open voor verdere reacties.

Naughtygirl

Gebruiker
Lid geworden
17 jan 2009
Berichten
174
Ik heb een fotoslider die alleen op de homepage getoond moet worden, en op de andere pagina's een afbeelding. Ik heb deze code in de header.php gezet:
HTML:
<div class="header-image-wrap">
<?php
if (is_home() || is_front_page()) {
   echo do_shortcode("[metaslider id=14]");
}
?>
<img src="<?php header_image(); ?>" alt="" class="header-image"/>
</div>

De code werkt opzich wel, maar in IE geeft hij de div van de header-image-wrap ook weer waardoor er wit ruimte ontstaat onder de slider. In Chrome en Firefox doet hij dat niet. Heb ik de code dan niet helemaal goed? Of ligt dit weer aan IE?
Ik bouw de site lokaal, dus kan geen link er naartoe plaatsen.
 

Bijlagen

  • homepage-IE.jpg
    homepage-IE.jpg
    221,4 KB · Weergaven: 55
Ik zie geen else{...} om de image heen? Het is zonder informatie over de css erg moeilijk om te helpen.
Afgezien van dat kan je de volgende css proberen.
Code:
img {
  /*float:left;*/
  display:block;
  max-width:100%;
  height:auto;
  border:0;
  vertical-align:middle;
}
De float kan je wel/niet proberen of dat werkt.
In welke IE versie test je het? IE9 heeft nog wel wat nukken maar de recentere versies geven weinig problemen in cross browser websites.
Suc6. Have fun.
 
Ik heb helaas ook niet heel veel kennis van php. Hoe moet ik de if en else functie precies formuleren?
 
Code:
<div class="header-image-wrap">
<?php
if (is_home() || is_front_page()) {
  echo do_shortcode("[metaslider id=14]");
} else {
?>
  <img src="<?php header_image(); ?>" alt="" class="header-image"/>
<?php } ?>
</div>
 
Code:
<?php if (is_page(....)) { ?>
    <p>Ik ben deze pagina</p>
<?php } else { ?>
    <p>Ik ben echt niet die pagina</p>
<?php } ?>
Naar keuze op de puntjes invullen: page id, "title", "slug" (even opzoeken bij de betreffende pagina)
 
Laatst bewerkt:
Ah super, dank je wel! Ik ga het zo proberen. Als het gelukt is, laat ik het weten (ook wanneer niet :) ).
 
Ik heb de code, die je noemde, getypt in het betreffende bestand:
HTML:
<div class="header-image-wrap">
			<?php if (is_page(agenda)) {
				echo do_shortcode("[metaslider id=14]");
			} else { ?>
				<img src="<?php header_image(); ?>" alt="" class="header-image"/> 
			<?php } ?>
		</div>

Het werkt alleen nog niet helemaal. Hij laat de slider niet zien.
Het betreft de plugin: The Events Calendar. Op de pagina waar de slider moet komen, is niet een "echte" pagina. Ze maken gebruik van een URL slug. Deze heb ik ingevuld (agenda). De template die aangeroepen wordt in de 'Basis template instellingen', kon ik kopiëren en plakken in mijn eigen child theme, om het aan te kunnen passen naar mijn eigen wensen. In dat bestand heb ik bovenstaande code geplaatst.
Hoop dat ik het wat duidelijk geformuleerd heb?

Hoe kan ik het werkende krijgen?
 
Laatst bewerkt:
Er staan geen quotes om agenda. Alleen als je een page-id invult gebruik je geen quotes.
Code:
if (is_page("agenda")) {
 
Ik heb zo 123 niet de oplossing voor je. Misschien andere helpers?
 
Ik hoop dat er iemand anders is die kan helpen. De site staat nu ook online, passiefloral.com. Misschien wat makkelijker om bepaalde dingen beter te bekijken?
 
Nu de site online is te zien is er misschien een andere manier. Het gaat denk ik om de workshops pagina. Als je vlak boven </head> dit zet. Het proberen waard
Code:
<style type="text/css">
body.events-list .header-image-wrap {
   display: none !important;
}
body.events-archive .header-image-wrap {
   display: none !important;
}
</style>
 
Het gaat inderdaad om het overzicht van de workshops. Ik ben alleen bang dat, wanneer ik bovenstaande code gebruik, de header image ook niet meer zichtbaar is op de desbetreffende workshop pagina zelf. Ik had nl. eerst deze code:

Code:
<?php echo do_shortcode ("[metaslider id=14]"); ?>

Toen liet ie wel de slider zien in het overzicht van de workshops, maar ook op de desbetreffende workshop pagina. Wat dan weer niet de bedoeling is.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan