1

ここで間違っていることを理解できません。これはテンプレート ファイルの先頭にあります。

<?php
/**
 * @package 1
 * @since 1 1.0
 */

$source_name = get_post_meta($post->ID, 'Source Name', true);
$source_url = get_post_meta($post->ID, 'Source URL', true);
?>

これは、さらに下にある他の部分です。

<?php if($source_url) { ?>
<div id="content-source">
    <span>Source:</span> <a href="<?php echo $source_url; ?>"> <?php echo $source_name; ?></a>
</div>
<?php } ?>

削除する<?php if($source_url) { ?>と正常に<?php } ?>動作しますが、ソースがない場合は何も表示されないようにするにはどうすればよいですか?

4

1 に答える 1

2

関数のクイックルックアップget_post_meta():

返すものが何もない場合、$single が true に設定されていない限り、関数は空の配列を返します。この場合、空の文字列が返されます。

だから、試してみてください:

    <?php if($source_url <> "") { ?>
    <div id="content-source">
        <span>Source:</span> <a href="<?php echo $source_url; ?>"> <?php echo $source_name; ?></a>
    </div>
    <?php } ?>

以前は、何も返されないかどうかを確認していました。代わりに空の文字列をチェックする必要があります。

于 2012-12-16T01:44:32.070 に答える