0

次のコードに if ステートメントを追加しようとすると、助けが必要です。

// determine email
$email = '<a href="mailto:' . get_post_meta($post->ID, 'resource_email', true) . '">'. get_post_meta($post->ID, 'resource_email', true) .'</a>';
$tpl = str_replace( '%%EMAIL%%', $email, $tpl );

私がやりたいことは、これです:

メールの表示がある場合は、このように表示されます...

<p><i class="icon"></i><a href="mailto:' . get_post_meta($post->ID, 'resource_email', true) . '">'. get_post_meta($post->ID, 'resource_email', true) .'</a><p>

メールがない場合は何も表示しません。

これを行う方法がわからない、私はこれを試しましたが、失敗しました:-)

// determine email
$email = '<a href="mailto:' . get_post_meta($post->ID, 'resource_email', true) . '">'. get_post_meta($post->ID, 'resource_email', true) .'</a>';
if ($email) {
    '<i class="ss-mail"></i><h6>Email</h6><p>';
    $tpl = str_replace( '%%EMAIL%%', $email, $tpl );
    '</p>';
}

ありがとう

4

2 に答える 2

1

メールアドレスがない場合、get_post_meta() は結果を返さないため、if ステートメントでラップすることができます。そう:

if(get_post_meta($post->ID, 'resource_email',true)){
.../your existing code ...
}
于 2013-09-26T18:25:15.410 に答える
0
$resource_email = get_post_meta($post->ID, 'resource_email', true);
if( !empty( $resource_email ) ) {
    $email = '<a href="mailto:' . $resource_email . '">'. $resource_email .'</a>';
    $tpl = str_replace( '%%EMAIL%%', $email, $tpl );
    echo '<i class="ss-mail"></i><h6>Email</h6><p>';
    echo $tpl;
    echo '</p>';
} else {
    $email = ' ';
    $tpl = str_replace( '%%EMAIL%%', $email, $tpl );
    echo $tpl;
}
于 2013-09-26T18:30:10.670 に答える