Shortcode conditional
-
Hi I am using this:
function shortcode_acf_tablefield( $atts ) { $a = shortcode_atts( array( 'table-class' => '', 'field-name' => false, 'post-id' => false, ), $atts ); $tables = (get_field( 'add_members_table' ) == 'yes'); if ( ! empty ( $tables ) ) { $table = get_field( $a['field-name'], $a['post-id'] ); $caption_text = get_field( 'table_name', $a['post-id'] ); $return = ''; if ( $table ) { $return .= '<h2>' . $caption_text . '</h2>'; $return .= '<table class="' . $a['table-class'] . '" border="0">'; if ( ! empty( $table['caption'] ) ) { echo '<caption>' . $table['caption'] . '</caption>'; } if ( $table['header'] ) { $return .= '<thead>'; $return .= '<tr>'; foreach ( $table['header'] as $th ) { $return .= '<th scope="col">'; $return .= $th['c']; $return .= '</th>'; } $return .= '</tr>'; $return .= '</thead>'; } $return .= '<tbody>'; foreach ( $table['body'] as $tr ) { $return .= '<tr>'; $i = 0; foreach ( $tr as $td ) { $return .= '<td data-column="' . $table['header'][$i]['c'] . ':">'; $return .= $td['c']; $return .= '</td>'; $i++; } $return .= '</tr>'; } $return .= '</tbody>'; $return .= '</table>'; } return $return; } } add_shortcode( 'tablefield', 'shortcode_acf_tablefield' );
But I am wanting to add an addition to the conditional if they have not selected the table but want to upload a pdf etc. instead. I have the buttons in acf working correctly and if the field is “no” the table doesn’t show.
I am trying to add this as an else
$pdf = (get_field( 'add_members_table' ) == 'no'); if ( ! empty ( $pdf ) ) { $content_type = get_field('choose_which_file_to_show'); if ($content_type == 'PDF') { ?> <img class="align-middle" src="<?php echo get_stylesheet_directory_uri(); ?>/img/pdf.png" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" width="32" height="32" /> <a href="<?php the_field('upload_pdf'); ?>" ><?php the_title(); ?></a> <?php } elseif ($content_type == 'XLS') { ?> <img class="align-middle" src="<?php echo get_stylesheet_directory_uri(); ?>/img/xls.png" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" width="32" height="32" /> <a href="<?php the_field('upload_excel_sheet'); ?>" ><?php the_title(); ?></a> } <?php }
but it won’t show up even if I do another shortcode. Is there a way to add it within the shortcode or will it break?
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘Shortcode conditional’ is closed to new replies.