Ik heb 2 scripts:

<?php masterslider(1); ?>

en

<?php if( get_field('slider') ): ?>
	<?php the_field('slider'); ?>
<?php endif; ?>


Ik wil die 2 combineren in 1 script, waarbij de 1 variabel is: als in "the_field" 2 staat, moet er een 2 komen te staan. Dus zo iets:

<?php if( get_field('slider') ): ?>
	<?php masterslider( the_field('slider'); ); ?>
<?php endif; ?>


Ik krijg het zelf niet werkende. Kan iemand me helpen?

 <?php if( get_field('slider') ): ?> 


Wat doet de dubbele punt in bovenstaande code ?

Zijn get_field en the_field functies die een getal terug geven ?

PHP kent de 'endif' niet, php gebruikt accolades om blokken code aan te geven.
Pipo Clown op 12/12/2016 14:58:53

Wat doet de dubbele punt in bovenstaande code ?

PHP kent de 'endif' niet, php gebruikt accolades om blokken code aan te geven.

PHP kent de endif wél en die wordt, samen met de dubbele punt in de if, juist veel gebruikt in templates:

<?php if (!empty($voornaam)): ?>
  <div class="foo">
    Voornaam: <?php echo $voornaam ?>
  </div>
<?php endif; ?>
Ik krijg het zelf niet werkende

Wat gaat er mis? Krijg je een foutmelding? Waaruit blijkt dat het niet goed gaat?

<?php masterslider( the_field('slider'); ); ?>

Dit fragment heeft in ieder geval een punt-komma teveel. Verwijder de eerste punt-komma.
Ik heb even code-tags toegevoegd om de boel beter leesbaarder te maken.
Ik gebruik een plugin in WordPress waarbij ik extra velden kan maken. 1 extra veld heet slider. In dat veld staat 1 getal, die overeen komt met een aangemaakte slider in een andere plugin genaamd Master Slider.
Dat getal wil ik in het script hebben staan, zodat ik (en diegene voor wie ik de website maak) in het extra veld alleen een cijfer hoef ik te vullen en de rest automatisch gaat.

De plugin voor de extra velder verteld mij dat ik de volgende code moet gebruiken om de inhoud van het extra veld op de website te krijgen. Als ik dit uitvoer, komt er precies uit wat ik eruit wil en verwacht te krijgen.

<?php if( get_field('slider') ): ?>
	<?php the_field('slider'); ?>
<?php endif; ?>


Als ik de beide scripts combineer, krijg ik "Invalid slider id. Master Slider ID must be a valid number". Net alsof er dan niks meer mee komt.

<?php if( get_field('slider') ): ?>
    <?php masterslider( the_field('slider') ); ?>
<?php endif; ?>
Mogelijk genereert the_field(...) meer dan enkel een getal? Is er een functie die enkel een getal teruggeeft? Die je vervolgens als invoer voor masterslider(...) kunt gebruiken.

EDIT: Hoe luiden de definities van deze functies? Heb je een link naar documentatie?

Wild guess: gebruik eens get_field('slider') in plaats van the_field('slider') maar dit hangt helemaal af van hoe deze functies werken.
Dit lijken mij functies van de ACF (Advanced Custom Fields) van Wordpress.
@ariën dat klopt.
@thomas ik heb er nu de slider staan die ik er wilde hebben staan, alleen staat de 1 er ook bij. Goeie wild guess, ben in ieder geval een stukje verder

Reageren