我的代碼如下,檢查是否Wordpress成員是男性還是女性,並基於此顯示某些代碼。我試圖優化下面的代碼,以避免必須有2個整個代碼塊的副本,因爲在我看來,我只需要有條件地檢查代碼的第一個ACF,因爲這是指性別特定的內容?我怎樣才能做到這一點?多個PHP if語句
下面的當前代碼工作正常,但會導致大量重複的代碼。下面的嘗試不起作用,它似乎與<? endif; ?>
標籤混淆?
CURRENT
<?php if ($memberGender == "male") : ?>
<section>
<?php if(have_rows('accordion_section_boys')): ?>
<?php while(have_rows('accordion_section_boys')): the_row(); ?>
<div class="accordion-section">
BOY SPECIFIC CONTENT
</div>
<?php endwhile; ?>
<?php endif; ?>
</section>
<?php endif; ?>
<?php if ($memberGender == "female") : ?>
<section>
<?php if(have_rows('accordion_section_boys')): ?>
<?php while(have_rows('accordion_section_boys')): the_row(); ?>
<div class="accordion-section">
GIRL SPECIFIC CONTENT
</div>
<?php endwhile; ?>
<?php endif; ?>
</section>
<?php endif; ?>
未遂
<section>
<?php if ($memberGender == "male") : ?>
<?php if(have_rows('accordion_section_boys')): ?>
<?php while(have_rows('accordion_section_boys')): the_row(); ?>
<?php endif; ?>
<?php if ($memberGender == "female") : ?>
<?php if(have_rows('accordion_section_girls')): ?>
<?php while(have_rows('accordion_section_girls')): the_row(); ?>
<?php endif; ?>
<div class="accordion-section">
GENDER SPECIFIC CONTENT (BOY OR GIRL)
</div>
<?php endwhile; ?>
<?php endif; ?>
</section>
<?php endif; ?>
你嘗試只有一個'endwhile',所以這是不是一個好兆頭。 –
你的新代碼會得到什麼結果? – Scriptman
在兩節中都有兩個ifs,然後是一個endif。還有兩段時間,只有一段時間。所以你總是會得到男性內容,但從來沒有女性內容。 – aynber