Использование настраиваемого поля для извлечения изображения - если нет изображения, DIV не может отображаться?WordPress / PHP / CSS - PullRequest
0 голосов
/ 10 ноября 2011

Это то, что я использую:

<div class="banner">
<?php if(get_post_meta($post->ID, 'banner', true)) : ?>
<img src="<?php echo get_post_meta($post->ID, 'banner', true); ?>" />
<?php else : ?>
<?php the_title(); ?>
<?php endif; ?>
<div>`

и ..

#banner {
clear:both;
width:980px;
overflow: hidden;
background: #F4F5F6;
padding:12px 0;
margin: 0 0 15px 0;
-moz-border-radius:15px;
-webkit-border-radius: 15px;
border-radius: 15px; /* future proofing */
-khtml-border-radius:15px; /* for old Konqueror browsers */
}

#banner img {display: block; margin:0 auto;}
  1. Я не хочу, чтобы заголовок отображался, так что если / ещене обязательно.

  2. Если нет img / пользовательское поле не используется, может ли div просто не показываться?Прямо сейчас, если пользовательское поле не используется, оно все еще показывает пустой div.

РЕШЕНО ЭТО !!!Извините, что даже опубликовать здесь.Хотя это не красиво, это работает.

<div id="bannerHolder">
<?php if(get_post_meta($post->ID, 'banner', true)) : ?>
<div id="banner">
<img src="<?php echo get_post_meta($post->ID, 'banner', true); ?>" />
</div><!--banner-->
<?php else : ?>
<?php endif; ?>
</div><!--bannerholder-->

Ответы [ 2 ]

0 голосов
/ 10 ноября 2011

Поместите предложение if , инкапсулирующее элемент div, и удалите остальную часть предложения php.

Пример:

<?php if(get_post_meta($post->ID, 'banner', true)) : ?>
    <div class="banner">
        <img src="<?php echo get_post_meta($post->ID, 'banner', true); ?>" />
    <div>
<?php endif; ?>
0 голосов
/ 10 ноября 2011

Поместите условие if вокруг div, а не внутри:

<?php

if ($banner = get_post_meta($post->ID, 'banner', true))
{
    echo '<div class="banner">', $banner, '</div>';
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...