Ondersteuning » Plugin vragen » ACF Plugin voeg image upload fields toe

  • Beste allemaal,

    Ik ben van de week in aanraking gekomen met de plugin Advanced Custom Fields.
    Het leek mij een goed idee om hier eerst mee te beginnen, voordat ik eigen meta boxen en fields ga coderen.

    Ik ben zeer tevreden over de plugin en het werkt allemaal perfect.
    Nu vraag ik het volgende af, je kunt in het admin gedeelte van de plugin, velden aan meta boxen toevoegen en verwijderen. Nu wil ik voor mijn project pagina in mijn portfolio afbeeldingen van het desbetreffende project kunnen uploaden. Wat nu het probleem is, is dat ik eerst via de plugin settings een x aantal velden moet aanmaken en in mijn template van WordPress vervolgens hard coded moet verwerken. Wanneer ik nu bijv. maar 2 afbeeldingen van de 5 heb geupload, komen de laatste 3 ook in mijn code te staan, althans op de volgende manier: <img src="" alt="" />.

    Heeft iemand enige ervaring met de plugin? Is dit mogelijk, of is het op een andere manier mogelijk. Het zou bijv. fijn zijn als je, wanneer ik een nieuw project toevoeg, via daar het aantal velden kan bepalen en eventueel kan toevoegen, met natuurlijk wel een max aan image velden…

    Template bestand:

    <div class="grid_8">
            <?php $alt = $image['title']; ?>
                <img src="<?php the_field('image_upload_1'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_2'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_3'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_4'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_5'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_6'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_7'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_8'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_9'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
                <img src="<?php the_field('image_upload_10'); ?>" class="imagebox" alt="<?php echo $alt; ?>">
    
            </div><!-- End .grid_8 -->

    OUTPUT:

    <div class="grid_8">
                       <img alt="" class="imagebox" src="wp-content/uploads/2012/10/v_trevorfranklinmichael_2880x1800.jpg">
               <img alt="" class="imagebox" src="wp-content/uploads/2012/10/v_trevorfranklinmichael_2880x1800.jpg">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
               <img alt="" class="imagebox" src="">
    
           </div>

    Ik hoor graag van u.

    Met vriendelijke groet,

    Casper B

9 reacties aan het bekijken - 1 tot 9 (van in totaal 9)
  • Moderator nielsvanrenselaar

    (@nielsvanrenselaar)

    Advanced Custom Fields heeft een betaalde uitbreiding, namelijk “Repeater Field”. Die doet precies wat jij wilt, je kan in de backend een ongelimiteerd aantal rijen met bijvoorbeeld afbeeldingen aanmaken. en in de front-end kan je daar door heen lopen:

    <?php
    
    if(get_field("my_images")) {
      while(the_repeater_field("my_images")) {
        $image = the_sub_field("image");
        // etc
      }
    }
    
    ?>

    Gooi die plugin weg ze doen niets anders dan iemand dom houden en in de hoop dat je de Pro versie koopt voor iets dat gewoon online staat uitgelegd.

    Deze plugins zijn leuk voor mensen die geen idee hebben wat Custom Fields zijn en wat je er mee kunt doen.
    Ik weet ongeveer wie jij bent van OMT en kan dus heel goed bepalen of jij WP ervaring genoeg hebt om dit zelf te doen.

    Ik heb zelf bijna 0% kennis van PHP en heb dit ongeveer 2 jaar geleden ooit gemaakt voor iemand door gewoon een beetje te zoeken op internet en mijn gedachte te vrije loop te geven. PHP kun je namelijk begrijpend lezen door alle IF’s en Else.

    http://pastebin.com/45V5A9y1

    Zie je dat ik eerst alle Custom Field namen zeg maar registreer (bovenaan) daarna zet ik ze tussen een IF en End in de img tag.

    Als je nu deze naam include-image-3-01 gebruikt in de Custom Field name en in het rechter-vakje de URL naar de image plakt dan komt deze mooi in de img tag te staan.

    De ‘namen’ kun je natuurlijk altijd zelf aanpassen. Bij mij stond dit voor kolom 3 + foto-nummer. (1 t-/m 10)

    Waarschijnlijk kan het veel mooier en met minder code maar dit werkt en ik heb er nog nooit problemen mee gehad.

    Moderator nielsvanrenselaar

    (@nielsvanrenselaar)

    Ach, met ACF is niets mis. Als je niet de extension wil kopen kan je hem ook zelf schrijven, je kan prima inhaken op die plugin met hooks in filters. Je hoeft het wiel niet altijd opnieuw uit te vinden :).

    Thread starter Casper B

    (@casper-b)

    Bedankt voor jullie reactie. Het is dat ik die plugin van een collega van mij op stage had toegewezen. Ik ben me daar nu in aan verdiepen, alleen mijn streven is nog altijd om custom fields zelf te ontwikkelen.

    @shmoo, haha jou naam kwam me al bekend voor! Ja ik ben me momenteel helemaal aan verdiepen in WP. Jou code ziet er wel netjes uit, maar hier zet je nog wel steeds een bepaald aantal image fields zeg maar op toch?

    Bedankt alvast.

    Mvg
    Casper

    Met mijn code maak je vooraf ruimte om 10 afbeeldingen te plaatsen, als jij op de pagina er maar 2 van die 10 gebruikt zullen de 8 andere codes (plaatsen) gewoon genegeerd worden en niet in de HTML terecht komen.

    Thread starter Casper B

    (@casper-b)

    Oke. Het vindt je het een probleem als ik jou code gebruik en er een beetje mee ga zitten stoeien?

    Daarom plaats ik hem, je mag er mee doen wat je wilt want ik heb hem ook op die manier gevonden.. Gewoon zoeken en proberen.

    Thread starter Casper B

    (@casper-b)

    Haha oke dat is waar. Maar vindt het wel even netjes om zoiezo te vermelden.
    Ik ben ook toch even nog met die plugin aan de gang geweest.
    Ik wil namelijk het volgende bereiken.

    Wanneer mijn custom field “heading_value” leeg is, moet WordPress thé_title weergeven, wanneer heading_value is ingevuld, moet WordPress de input van dat veld weergeven.

    Ik heb momenteel de volgende IF statement:

    <?php
    global $post;
    $field = get_field('heading_value');
    if($field != ''):
    echo  'No, there is content!';
    else:
    echo 'Yes it is empty!';
    
    endif;
    ?>

    Helaas werkt hij niet. Ik krijg steeds alleen de waarde “Yes it is empty”. Terwijl er in de heading_value content in staat. Tevens geeft hij dezelfde waarde weer waneer er geen content in de heading_value staat.

    Wat doe ik precies verkeerd?

    Ik hoor graag van jullie.

    Met vriendelijke groet,
    Casper B

    Thread starter Casper B

    (@casper-b)

    Ik wilde nog even laten weten dat bovenstaande probleem opgelost is. De code ziet er redelijk hetzelfde uit:

    <?php
    			$field = get_field('heading_value'); 
    
    			if($field == ''):
    				the_title(); echo '.';
    			else:
    				the_field('heading_value');
    			endif;
    		?>

    Groeten, Casper

9 reacties aan het bekijken - 1 tot 9 (van in totaal 9)
  • Het onderwerp ‘ACF Plugin voeg image upload fields toe’ is gesloten voor nieuwe reacties.