WordPress: Echo пользовательский размер изображения в фоновый URL для рисунка - PullRequest
0 голосов
/ 16 апреля 2019

Я использую оператор PHP echo для вставки изображения в фоновый URL-адрес элемента фигуры.Вот что я сейчас использую:

echo '<figure class="fixedratio" style="background: url(' . wp_get_attachment_url( get_post_thumbnail_id( )). ');"></figure>';

Это работает, но оно вытягивает основное изображение, независимо от его размера.

Я создал пользовательский размер изображения в функциях.php называется custom-size.Я хотел бы использовать этот размер.Я подумал, что могу просто добавить его в скобки для get_post_thumbnail_id, но все, что он сделал, это создал ошибки.

Так что это не работает:

<?php if ( has_post_thumbnail() ) { ?>
    <?php echo '<figure class="fixedratio" style="background: url(' . wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-size')[0] . ');"></figure>'; ?>
        <?php } else { ?>
    <figure class="fixedratio" style="background: url('<?php bloginfo('template_directory'); ?>/img/photo-na.gif');"></figure>
<?php } ?>

Любые идеи, которые будут работать, чтобы отобразить мой пользовательскийразмер

1 Ответ

0 голосов
/ 16 апреля 2019

Здесь есть несколько проблем:

  1. Если вы проверите документацию, вы заметите, что функция get_post_thumbnail_id () принимает только один параметр (на момент написания как минимум): идентификатор записи. Вы передаете ему размер эскиза, который не подходит.

wp_get_attachment_url () извлекает URL-адрес указанного идентификатора вложения. Как и предыдущая функция, эта также принимает только один параметр (идентификатор вложения), поэтому вы не можете использовать его для извлечения изображения определенного размера.

Если вы хотите получить определенный размер изображения, используйте вместо него функцию wp_get_attachment_image_src () :

$image_data = wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-size' );
echo '<figure class="fixedratio" style="background: url(' . $image_data[0] . ');"></figure>';
  1. Когда вы добавляете новые размеры изображений в ваш файл functions.php, эти новые размеры изображений не генерируются WordPress автоматически для всех сообщений, а только для новых сообщений, созданных с этого момента. Вам нужно будет использовать плагин Regenerate Thumbnail (или аналогичный вариант), чтобы сгенерировать их для вас. Если вы этого не сделаете, WordPress попытается найти изображение размера «нестандартного размера» для сообщения, и если оно не сможет его найти, WordPress вернет вместо него самое близкое по размеру (или исходное) .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...