以下のコードは、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; ?>
ATTEMPT
<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; ?>
のように、あなたの試みは唯一、1 'endwhile'を持っているが良いサインではありません。 –
あなたの新しいコードではどんな結果が得られますか? – Scriptman
両方のセクションに2つのifと1つのendifがあります。そして2つのwhilesは1つだけ終わり。だから、あなたはいつも男性のコンテンツを取得しますが、女性のコンテンツは取得しません。 – aynber