2013-10-14 3 views
0

Мои теги alt для изображений не работают. Я могу добавить тег alt в админе для конкретного изображения, но я не могу показать это.Alt тег отказывается работать в Wordpress

Мой тег alt остается пустым.

Теперь я искал вокруг решения, и я нашел следующее:

get_post_meta($attachment_id, '_wp_attachment_image_alt', true) 

но это, кажется, не работает вообще, альт тег просто остается пустым.

В данный момент мой код выглядит следующим образом:

<img src="<?php the_sub_field('image'); ?>" title="<?php the_title(); ?>" alt=""/> 

Любые решения для этого?

Я полагаю, есть стандартная функция WordPress, чтобы сделать это, так как мы имеем возможность вставить альт тег в админке

+0

the_title получает название страницы, на которой вы находитесь, вы уверены, что хотите отобразить заголовок страницы? – BrownEyes

+0

Эх, нет, я уже удалил это. Я хочу получить заголовок изображения и тег alt, особенно тег alt. Но как? –

+0

Посмотрите мой ответ, посмотрите, что вы искали – BrownEyes

ответ

0

Попробуйте это следующим образом: (пока не проверено)

$alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true); 
$image_title = $attachment->post_title; 

что приводит вас к:

<img src="<?php the_sub_field('image'); ?>" title="<?php echo $image_title; ?>" alt="<?php echo $alt; ?>"/> 
+0

Это не работает –

+0

Вы можете предоставить Pastebin кода для всей страницы, которую вы используете? – BrownEyes

+0

Я не понимаю, что бы добавить, я просто хочу получить alt ta на моем изображении, это не должно быть таким сложным, поскольку это основная функция wordpress в admin. –

0

Может быть, вы используете браузер Chrome, это проблема Chrome.

или, если не попробуйте этот, он определенно поможет вам.

<img src="<?php the_sub_field('image'); ?>" title="<?php the_title(); ?>" alt="image"/> 

Спасибо.

0

Судя по коду, опубликованному на вашей скрипке в комментариях, я бы сказал, что вам нужно изменить способ настройки полей ACF.

get_post_meta($attachment_id, '_wp_attachment_image_alt', true) не будет работать, потому что $attachment_id пуст.

Похоже, вы установили поля ACF для возврата URL-адреса изображения вместо объекта изображения или идентификатора изображения. Я бы предложил изменить поле, чтобы вернуть идентификатор. После этого вы можете изменить свой код так:

<div class="row bottom-margin-half"> 
    <?php $i=0 ?> 
    <?php $teamMembers=count(get_sub_field("persoon")); ?> 
    <?php while (the_repeater_field('persoon')) { ?> 
    <?php if ($i==0 || $i % 4===0) { ?> 
    <div class="row"> 
     <?php } ?> 
     <div class="col col-lg-3 col-sm-4 teamdescription"> 
      <?php echo wp_get_attachment_image(get_sub_field('image'), 'full', false, array('class' => 'r5')); ?> 
      <p><b><?php the_sub_field('naam'); ?> <?php the_sub_field('linkedin'); ?></b> 
      </p> 
      <p> 
       <?php the_sub_field('functie'); ?> 
      </p> 
     </div> 
     <?php $i++; ?> 
     <?php if ($i==0 || $i % 4===0 || $teamMembers===$i) { ?> 
    </div> 
    <?php } ?> 
    <?php } ?> 
</div> 

wp_get_attachment_image функция создает элемент изображения и обрабатывает альт тег для вас.