Php metabox if statement vraag / switch statement
Ik ben bezig met het ontwikkelen van een metabox met php voor wordpress. Nu heb ik een code gevonden om repeatable fields te maken, maar deze is erg uitgebreid en ben deze daarom eerst aan het verkleinen. Nu kom ik uit een 2 stukjes code niet. Hopelijk kan iemand mij vertellen wat de code precies doet, mocht ik het fout hebben of niet volledig hebben geformeerd.
Code (php)
1
2
3
4
2
3
4
if ( is_array( $meta ) )
$meta = meta_box_array_map_r( 'meta_box_sanitize', $meta, $sanitizer );
else
$meta = meta_box_sanitize( $meta, $sanitizer );
$meta = meta_box_array_map_r( 'meta_box_sanitize', $meta, $sanitizer );
else
$meta = meta_box_sanitize( $meta, $sanitizer );
Bovenstaande code checkt of de variable $meta een array is. Wanneer het antwoord 'true' is voer dit uit, anders voer dit uit.
Als ik het goed zeg heb ik de if statement juist geformuleerd, alleen wat daar binnen gebeurd begrijp ik niet.
En ik had een bepaalde vraag over het switch statement:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
switch( $type ) {
// basic
case 'text':
case 'url':
case 'email':
case 'tel':
case 'number':
default:
echo '<input type="' . $type . '" name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '" value="' . $meta . '" class="regular-text" size="30" />
<br />' . $desc;
break;
// basic
case 'text':
case 'url':
case 'email':
case 'tel':
case 'number':
default:
echo '<input type="' . $type . '" name="' . esc_attr( $id ) . '" id="' . esc_attr( $id ) . '" value="' . $meta . '" class="regular-text" size="30" />
<br />' . $desc;
break;
Binnen het switch statement heeft de author van deze code een variable $type gemaakt, alleen deze wordt nergens aangemaakt. Hoef dit niet of?
De code is trouwens te vinden op: https://github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes/blob/master/metaboxes/meta_box.php
Om nog even mijn doel duidelijk te maken, ik wil een repeatable field hebben van een image upload en een tekst input voor een caption. Dze wil ik vervolgens met een knop kunnen dupliceren. Nu heb ik bovenstaande url gevonden die het mogelijk maakt en is een uitgebreidere code van de tutorial: http://wp.tutsplus.com/tutorials/reusable-custom-meta-boxes-part-3-extra-fields/
Tot op heden ben ik er nog niet uit gekomen om de code van github te integreren in de code van de tutorial. Ik wil namelijk binnen mijn switch statement repeatable case de 2 andere cases hebben die moeten worden gedupliceerd.
Ik hoor graag van jullie.
denk dat dat een fout is dat $type nergens vandaag komt. Dus misschien niet zo'n goed idee om je eigen code met dit te intergreren