Replies: 0
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?