Quantcast
Channel: WordPress.org Forums » All Topics
Viewing all articles
Browse latest Browse all 59525

Shortcode conditional

$
0
0

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?


Viewing all articles
Browse latest Browse all 59525

Trending Articles