如果未在ACF字段$ cta_fields ['image']中选择图像,我该如何设置条件以显示默认img? 我希望默认的img为“ websiteurl.com/wp-content/uploads/img.jpg”
<?php
$root = get_template_directory_uri();
?>
<section class="k-ctabanner k-cta-banner--main">
<div class="k-inner k-inner--xl">
<div class="k-ctabanner--bgimg" data-src="<?php echo $cta_fields['image']['url']; ?>" alt="<?php echo $cta_fields['image']['alt']; ?>"></div>
<div class="k-inner k-inner--md">
<div class="k-ctabanner--content k-block k-block--md">
<div class="k-preheading k-upcase"><?php echo $cta_fields['preheading']; ?></div>
<h3 class="k-headline k-headline--sm"><?php echo $cta_fields['heading']; ?></h3>
<a href="<?php echo $cta_fields['link']['url']; ?>" class="k-button k-button--secondary"><?php echo $cta_fields['link']['title']; ?> →</a>
</div>
</div>
</div>
</section>
答案 0 :(得分:0)
db.collection.aggregate([
{
$match: {
update_at: {
"$gte": "2019-05-03T00:00:00.0Z",
"$lt": "2019-05-05T00:00:00.0Z"
},
id: {
"$in": [
166
]
}
}
},
{
$group: {
_id: {
$substr: [
"$update_at",
11,
2
]
},
count: {
"$sum": 1
}
}
},
{
$addFields: {
hour: [
"0000",
"0101",
"0202",
"0303",
"0404",
"0505",
"0606",
"0707",
"0808",
"0909",
"1010",
"1111",
"1212",
"1301",
"1402",
"1503",
"1604",
"1705",
"1806",
"1907",
"2008",
"2109",
"2210",
"2311"
]
}
},
{
$unwind: "$hour"
},
{
$project: {
_id: 0,
hour: 1,
count: {
$cond: [
{
$eq: [
{
$substr: [
"$hour",
0,
2
]
},
"$_id"
]
},
"$count",
0
]
}
}
},
{
$group: {
_id: "$hour",
count: {
"$sum": "$count"
}
}
},
{
$sort: {
_id: 1
}
},
{
$project: {
_id: 0,
hour: {
$concat: [
{
$substr: [
"$_id",
2,
2
]
},
{
$cond: [
{
$gt: [
{
$substr: [
"$_id",
0,
2
]
},
"12"
]
},
" PM",
" AM"
]
}
]
},
count: "$count"
}
}
])
答案 1 :(得分:0)
假设在该情况下$cta_fields['image']
将是null
或其他情况下未定义,则类似
data-src="<?php echo (!empty($cta_fields['image']) ?: 'websiteurl.com/wp-content/uploads/img.jpg'); ?>"
我认为应该可以解决问题。
这使用(简写)ternary operator,您可以认为它有点像压缩的if/else
块。
您可能还希望通过其外观以类似的方式修改"alt="
位。