2 scripts combineren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ellen Skapandi

Ellen Skapandi

12/12/2016 11:56:33
Quote Anchor link
Ik heb 2 scripts:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php masterslider(1); ?>


en
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php if( get_field('slider') ): ?>
    <?php masterslider( the_field('slider'); ); ?>
<?php endif; ?>


Ik krijg het zelf niet werkende. Kan iemand me helpen?
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 12/12/2016 15:24:42 door - Ariën -
 
PHP hulp

PHP hulp

30/04/2024 04:28:39
 
Pipo Clown

Pipo Clown

12/12/2016 14:58:53
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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.
 
- Ariën  -
Beheerder

- Ariën -

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

Toch is het wel zo:
http://php.net/manual/en/control-structures.alternative-syntax.php
 
Ward van der Put
Moderator

Ward van der Put

12/12/2016 15:14:18
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php if (!empty($voornaam)): ?>
  <div class="foo">
    Voornaam: <?php echo $voornaam ?>
  </div>
<?php endif; ?>
 
Thomas van den Heuvel

Thomas van den Heuvel

12/12/2016 15:23:37
Quote Anchor link
Quote:
Ik krijg het zelf niet werkende

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php masterslider( the_field('slider'); ); ?>

Dit fragment heeft in ieder geval een punt-komma teveel. Verwijder de eerste punt-komma.
 
- Ariën  -
Beheerder

- Ariën -

12/12/2016 15:25:11
Quote Anchor link
Ik heb even code-tags toegevoegd om de boel beter leesbaarder te maken.
 
Ellen Skapandi

Ellen Skapandi

12/12/2016 15:45:02
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php if( get_field('slider') ): ?>
    <?php masterslider( the_field('slider') ); ?>
<?php endif; ?>
Gewijzigd op 12/12/2016 15:52:14 door Ellen Skapandi
 
Thomas van den Heuvel

Thomas van den Heuvel

12/12/2016 15:51:31
Quote Anchor link
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.
Gewijzigd op 12/12/2016 15:52:56 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

12/12/2016 15:58:19
Quote Anchor link
Dit lijken mij functies van de ACF (Advanced Custom Fields) van Wordpress.
 
Ellen Skapandi

Ellen Skapandi

12/12/2016 16:05:14
Quote Anchor link
@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
Gewijzigd op 12/12/2016 16:07:53 door Ellen Skapandi
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.