Это мой первый набег в WordPress, и я пытаюсь создать единственную страницу поста. У меня есть изображение Featured, но я пытаюсь заменить его на запасное изображение, если оно отсутствует.
В настоящее время выглядит так (obvs внутри цикла):
<?php $thumb = get_the_post_thumbnail_url(); ?>
<div class="news-hero" style="background-image: url('<?php echo $thumb;?>')">
<div class="page-title"><h1><?php the_title(); ?></h1></div>
</div>
Это здорово, так как он тянет URL, который я затем помещаю с битом echo $ thumb.
Я думаю, что мне нужно как-то определить $ thumb как URL-адрес миниатюры или другой URL, но не знаете как?
Мне удалось сделать это как тег изображения для страницы со списком, но я бы предпочел сделать это как фоновое изображение (просто вставляя URL-адреса), если бы мог.
Это то, что листинг использует в данный момент — но работает только в теге img.
<div class="news-collation-img">
<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
} else { ?>
<img src="<?php bloginfo('template_directory'); ?>/img/news/fallback-image.jpg" alt="<?php the_title(); ?>" />
<?php } ?>
</div>
Проектировать красивые картинки гораздо проще, чем заставить их работать :-p
Спасибо за любую помощь, которую может оказать любой.
попробуй это :
<?php
//define fallback image path
$thumb = bloginfo('template_directory').'/img/news/fallback-image.jpg';
if ( has_post_thumbnail() ) {
//override fallback image if post has any thumbnail
$thumb = get_the_post_thumbnail_url();
}
?>
<div class="news-hero" style="background-image: url('<?php echo $thumb;?>')">
<div class="page-title"><h1><?php the_title(); ?></h1></div>
</div>
По какой-то причине вышеприведенное создает каталог шаблонов в виде простого текста на странице. Если я эхо $thumb = bloginfo('template_directory').'/img/news/fallback-image.jpg';
появится правильный URL.
Однако при обратном вызове в качестве URL на фоновом изображении <div class="news-hero" style="background-image: url('<?php echo $thumb;?>')">
Это не работает.
Когда я изменился $thumb = bloginfo('template_directory')
в $thumb = get_template_directory_uri()
все работает Понятия не имею, потому что, как я поверил, они делают то же самое. (bloginfo (‘template_directory’) только тогда выполняет get_template_directory_uri).
Но это сработало, так что я в порядке с этим …