php - Making custom field image attachment work - WordPress -
i working on adding functionality pre-existing wordpress site. site not written me, tweaking pre-existing code.
i'm trying add together image sits above accordion dropdowns on 1 of our templates. i've been able add together custom field custom_fields.php file, , showing on wp admin side, cannot figure out how create image show in browser.
the image i'm trying add together naming "accordion_image"
custom field:
carbon_container::factory('custom_fields', __('info page titles', 'domain')) ->show_on_post_type('page') ->show_on_template('template-info.php') ->add_fields(array( carbon_field::factory('text', 'info_subtitle'), )); carbon_container::factory('custom_fields', __('accordions section', 'domain')) ->show_on_post_type('page') ->show_on_template('template-info.php') ->add_fields(array( carbon_field::factory('text', 'acc_section_title', 'section title'), carbon_field::factory('complex', 'accordions') ->add_fields(array( carbon_field::factory('text', 'accordions_title'), carbon_field::factory('complex', 'accordion') ->add_fields(array( carbon_field::factory('attachment', 'accordion_image') ->set_required(true), carbon_field::factory('text', 'accordion_head') ->set_required(true), carbon_field::factory('textarea', 'accordion_content') ->set_required(true), )), )), )); markup template:
<?php $acc_section_title = carbon_get_the_post_meta('acc_section_title'); $section_accordions = carbon_get_the_post_meta('accordions', 'complex'); if (!empty($section_accordions) && is_array($section_accordions)): ?> <div class="col-right"> <?php if ($acc_section_title): ?> <h4><?php echo esc_html($acc_section_title); ?></h4> <?php endif ?> <div class="faq"> <?php foreach ($section_accordions $counter => $accordions): $accordions_title = $accordions['accordions_title']; if ($accordions_title): ?> <h5><?php echo esc_html($accordions_title) ?></h5> <?php endif ?> <?php if (!empty($accordions['accordion']) && is_array($accordions['accordion'])): ?> <div class="accordion"> <?php foreach ($accordions['accordion'] $acc_counter => $accordion): ?> <div class="accordion-section"> <?php $accordion_image = $accordion['accordion_image']; $accordion_head = $accordion['accordion_head']; $accordion_content = $accordion['accordion_content']; if ($accordion_image): ?> <div class="accordion-img"> <?php echo esc_html($accordion_image) ?> </div><!-- /.accordion-img --> <?php endif ?> if ($accordion_head): ?> <div class="accordion-head"> <?php echo esc_html($accordion_head) ?> </div><!-- /.accordion-head --> <?php endif ?> <?php if ($accordion_content): ?> <div class="accordion-body"> <?php echo wpautop($accordion_content); ?> </div><!-- /.accordion-body --> <?php endif ?> </div><!-- /.accordion-section --> <?php endforeach ?> </div><!-- /.accordion --> <?php endif ?> <?php endforeach ?> </div><!-- /.faq --> </div><!-- /.col-right --> <?php endif ?> i'm learning php, apologize if silly question. help everyone!
looks issue mix of syntax issues...and simple problem you're echoing id of image, not outputting image itself. rather echo esc_html($accordion_image);, want utilize wp_get_attachment_image() function echo wp_get_attachment_image( esc_html($accordion_image), 'full' ); so:
$acc_section_title = carbon_get_the_post_meta('acc_section_title'); $section_accordions = carbon_get_the_post_meta('accordions', 'complex'); if (!empty($section_accordions) && is_array($section_accordions)): ?> <div class="col-right"> <?php if ($acc_section_title): ?> <h4><?php echo esc_html($acc_section_title); ?></h4> <?php endif; ?> <div class="faq"> <?php foreach ($section_accordions $counter => $accordions): $accordions_title = $accordions['accordions_title']; if ($accordions_title): ?> <h5><?php echo esc_html($accordions_title); ?></h5> <?php endif; ?> <?php if (!empty($accordions['accordion']) && is_array($accordions['accordion'])): ?> <div class="accordion"> <?php foreach ($accordions['accordion'] $acc_counter => $accordion): ?> <div class="accordion-section"> <?php $accordion_image = $accordion['accordion_image']; $accordion_head = $accordion['accordion_head']; $accordion_content = $accordion['accordion_content']; if ($accordion_image): ?> <div class="accordion-img"> <?php echo wp_get_attachment_image( esc_html($accordion_image), 'full' ); ?> </div><!-- /.accordion-img --> <?php endif; ?> <?php if ($accordion_head): ?> <div class="accordion-head"> <?php echo esc_html($accordion_head); ?> </div><!-- /.accordion-head --> <?php endif; ?> <?php if ($accordion_content): ?> <div class="accordion-body"> <?php echo wpautop($accordion_content); ?> </div><!-- /.accordion-body --> <?php endif; ?> </div><!-- /.accordion-section --> <?php endforeach; ?> </div><!-- /.accordion --> <?php endif; endforeach; ?> </div><!-- /.faq --> </div><!-- /.col-right --> <?php endif; ?> php wordpress
No comments:
Post a Comment