Скрыть Div, если в цикле нет изображения - PullRequest
0 голосов
/ 11 января 2011

Я ищу, чтобы создать условие в цикле WordPress.если нет изображения, то поле изображения (.thumbHome {display: none})

, это в моей функции .php

function getThumbImages($postId) {
$iPostID = get_the_ID();
$arrImages =& get_children('post_type=attachment&post_mime_type=image&post_parent=' .   $iPostID );
if($arrImages) {
    $arrKeys = array_keys($arrImages);
    $iNum = $arrKeys[0];
    $sThumbUrl = wp_get_attachment_thumb_url($iNum, $something);
    $sImgString =  '<img src="' . $sThumbUrl . '" alt="thumb Image" title="thumb Image" />';
echo $sImgString;}
else {
echo '<script language="javascript">noImage()</script>';
}
}  

И мой JavaScript:

window.onload = noImage();
 function noImage(){
document.getElementByClassName('.thumbHome').css.display = 'none';
}

Я попытался:

window.onload = noImage();
function noImage(){
$('.thumbHome').addClass('hide');
} 

РЕЗУЛЬТАТ: добавление класса hide добавлено ко всему циклу

Я не могу понять это по-другому, так как я все еще новичок в кодировании.

1 Ответ

1 голос
/ 12 января 2011

Ну, во-первых, вы не хотите вызывать эти функции на window.onload.Таким образом, все экземпляры класса .thumbHome будут немедленно скрыты без каких-либо условий.

Вот очень простой способ исправить эту проблему.Возможно, есть более сложные способы, но это хорошо работает.

В вашем основном цикле добавьте уникальный идентификатор к каждому .thumbHome div на основе идентификатора изображения.Например:

echo '<div class="thumbHome" id="thumb-' . $iNum . '"> ... </div>';
// or you could you use the post ID, doesn't matter, as long as you are consistent

Тогда условное выражение else (для миниатюры) можно изменить на:

else {
    echo '<script type="text/javascript">noImage("#thumb-' . $iNum . '")</script>';
}

, а ваша функция js может быть:

function noImage(var){
    $(var).hide();
}

Это не обязательно лучший способ сделать это, это просто лучший способ с ситуацией, в которой вы сейчас находитесь.

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