我想知道我如何才能完善这段代码:
<?php if( get_sub_field('which_call_to_action') == 'primary_cta' ):
$PopOrPage = get_field('page_or_pop_up', 'option');
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$AddUrl = get_field('cta_page_url', 'option');
$TextOnButton = the_field('main_cta_text', 'option');?>
<?php echo '<div class="'. $StandardOrAdvanced .'"><a class="'. $PopOrPage .'" href="'. $AddUrl .'">' ;?>
<?php echo $TextOnButton ;?>
<?php echo '</a></div>';?>
<?php elseif ( get_sub_field('which_call_to_action') == 'secondary_cta' ):
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$TextOnButton = get_field('secondary_cta_group_secondary_text', 'option');
$AddUrl = get_field('secondary_cta_group_secondary_url', 'option');?>
<?php echo '<div class="'. $StandardOrAdvanced .'"><a class="'. $PopOrPage .'" href="'. $AddUrl .'">' ;?>
<?php echo $TextOnButton ;?>
<?php echo '</a></div>';?>
<?php elseif ( get_sub_field('which_call_to_action') == 'tertiary_cta' ):
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$TextOnButton = get_field('tertiary_cta_group_tertiary_text', 'option');
$AddUrl = get_field('tertiary_cta_group_tertiary_url', 'option');?>
<?php echo '<div class="'. $StandardOrAdvanced .'"><a class="'. $PopOrPage .'" href="'. $AddUrl .'">' ;?>
<?php echo $TextOnButton ;?>
<?php echo '</a></div>';?>
<?php endif; ?>
有没有办法可以不用重复下面的部分那么多次?
<?php echo '<div class="'. $StandardOrAdvanced .'"><a class="'. $PopOrPage .'" href="'. $AddUrl .'">' ;?>
<?php echo $TextOnButton ;?>
<?php echo '</a></div>';?>
我试过这个:
<?php if( get_sub_field('which_call_to_action') == 'primary_cta' ){
$PopOrPage = get_field('page_or_pop_up', 'option');
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$AddUrl = get_field('cta_page_url', 'option');
$TextOnButton = the_field('main_cta_text', 'option');}
elseif ( get_sub_field('which_call_to_action') == 'secondary_cta' ){
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$TextOnButton = get_field('secondary_cta_group_secondary_text', 'option');
$AddUrl = get_field('secondary_cta_group_secondary_url', 'option');}
elseif ( get_sub_field('which_call_to_action') == 'tertiary_cta' ){
$StandardOrAdvanced = get_field('secondary_more_options_cta', 'option');
$TextOnButton = get_field('tertiary_cta_group_tertiary_text', 'option');
$AddUrl = get_field('tertiary_cta_group_tertiary_url', 'option');}
echo '<div class="'. $StandardOrAdvanced .'"><a class="'. $PopOrPage .'" href="'. $AddUrl .'">' ;
echo $TextOnButton ;
echo '</a></div>';
endif; ?>
我希望它运行通过每个if statement
和加载必要的变量和输出的html相应。唉,代码失败了
1条答案
按热度按时间anauzrmj1#
给予变量一些默认值,然后你只需要在if/else代码块中覆盖它们,这样你就可以把回显移到代码块的末尾。
$StandardOrAdvanced
在所有3个代码块中都是一样的,所以把它移到if/else代码块的前面或后面。