簡體   English   中英

在PHP foreach循環中添加If / Else語句-WordPress自定義字段

[英]Adding an If/Else statement within PHP foreach loop - WordPress Custom Fields

我有這個WordPress自定義字段PHP循環:

<?php
    $fields = CFS()->get('image-field');
    foreach ($fields as $field) {
?>

    <a href="<?php echo $field['image-upload']; ?>">Link to image</a>
    <a href="<?php echo $field['image-url']; ?>">Link to image</a>
    <?php echo $field['image-description']; ?>

<?php } ?>

並想添加一個If / Else語句,例如(這不起作用):

<?php
    $fields = CFS()->get('image-field');
    foreach ($fields as $field) {
?>

    if ( $field['image-upload'] ) {
        <a href="<?php echo $field['image-upload']; ?>">Link to image</a>
    }
    else {
        <a href="<?php echo $field['image-url']; ?>">Link to image</a>
    }
    <?php echo $field['image-description']; ?>

<?php } ?>

我發現這可行

<?php
    $fields = CFS()->get('image-field');
    foreach ($fields as $field) {
        if ( $field['image-upload'] ) {
        ?>
            <a href="<?php echo $field['image-upload']; ?>">Go To Store!</a>
        <?php
        } else {
            echo $field['image-url'];
        }
        echo $field['image-description'];
        }
?>

但是在嘗試添加HTML時,我遇到了以上代碼的語法錯誤。

編輯:工作解決方案,謝謝晶體

    <?php
    $fields = CFS()->get('image-field');
    ?>

    <? foreach ($fields as $field) : ?>
    <ul>
        <? if ( $field['image-upload'] ) : ?>
            <li><a href="<?= $field['image-upload'] ?>">Link to image</a>
        <? else : ?>
            <li><a href="<?= $field['image-url'] ?>">Link to image</a>
        <? endif ?>
            <li><?= $field['image-description'] ?>
    </ul>
    <? endforeach ?>

HTML應該用echo<?php ... ?>之外的形式編寫,如下所示:

<?php
$fields = CFS()->get('image-field');
foreach ($fields as $field) {

    if ( $field['image-upload'] ) { ?>
        <a href="<?php echo $field['image-upload']; ?>">Link to image</a>
    <?php } else { ?>
        <a href="<?php echo $field['image-url']; ?>">Link to image</a>
    <?php
    }
    echo $field['image-description'];
}
?>

如果使用short_open_tag:

<?php
$fields = CFS()->get('image-field');
?>

<? foreach ($fields as $field) : ?>
    <? if ( $field['image-upload'] ) : ?>
        <a href="<?= $field['image-upload'] ?>">Link to image</a>
    <? else : ?>
        <a href="<?= $field['image-url'] ?>">Link to image</a>
    <? endif ?>
    <?= $field['image-description'] ?>
<? endforeach ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM