2013-04-15 8 views
0

Мне нужно добавить класс «проекта-IMG» для каждого якоря на этой странице: http://petekingston.com/portfolio/test/PHP - добавить класс на якорь в петле

Мой код (PHP цикл) для этого атм:

<div id="container"> 
<?php foreach (simple_portfolio_media() as $media_item): ?> 
    <div class="box lightGrey masonry masonry-brick"> 
     <?php 
      $class = ('') ? 'class="project-img"' : ''; 
      switch ($media_item['type']): 
       case 'image': 
        $src = wp_get_attachment_image_src($media_item['value'], 'full'); 
        echo "<a $class href=\"$src[0]\">" . wp_get_attachment_image($media_item['value']) . "</a>"; 
        break; 
       case 'youtube': 
        echo "<p>"; 
        echo "<object width=\"480\" height=\"385\">"; 
        echo " <param name=\"movie\" value=\"http://www.youtube.com/" . $media_item['value'] . "&amp;hl=en_US&amp;fs=1\"/>"; 
        echo " <param name=\"allowFullScreen\" value=\"true\"/>"; 
        echo " <param name=\"allowscriptaccess\" value=\"always\"/>"; 
        echo " <embed src=\"http://www.youtube.com/v/" . $media_item['value'] . "&amp;hl=en_US&amp;fs=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"480\" height=\"385\"/>"; 
        echo "</object>"; 
        echo "</p>"; 
        break; 
       case 'snippet': 
        echo $media_item['value']; 
        break; 
      endswitch; 
     ?> 
    </div><!-- END box --> 
<?php endforeach; ?> 
</div><!-- END container --> 

Однако он не добавляет класс к якорям. Любая помощь приветствуется.

Спасибо заранее!

Пит

+0

Что такое $ class = ('')? 'class = "project-img"': ''; ? Он проверяет, какую пустую строку? –

+0

Я, к сожалению, не очень хорошо знаком с PHP и попытался включить код здесь: http://stackoverflow.com/questions/2913415/how-add-class-active-to-html-menu-with-php –

ответ

0

Поскольку вы не используете тег с тем же классом в любом другом месте, только в случае, если «образом», зачем вам это нужно условие для переменных $ класса? Более того, для чего вам нужна декларация 'class = "project-img"' для переменной? Я использовал бы таким образом:

$class = 'project-img'; 
... 
echo "<a class='$class' href=\"$src[0]\">" ... 
+0

Фантастический, класс, поэтому я могу настроить его с помощью fancybox и стилизовать его. Большое спасибо! –

0

Ваш оператор сравнения в вашем тройном тесте неправильно: используйте == вместо =.

$class = ($class == ('')) ? 'class="project-img"' : ''; 

Я не уверен, что вы подразумеваете под ('') кстати!

+0

Да, я изменил это с помощью кода @Royal_BG. Я почти ничего не знаю о PHP, поэтому ни один из этого кода не является тем, что я написал. Спасибо за быстрый ответ. (Извинения за то, что не объясняли проблему более точно) –

Смежные вопросы