How to solve PHP ACF error: "Trying to access array offset on value of type bool"?
How to solve PHP ACF error: "Trying to access array offset on value of type bool"?
我一直致力于开发自己的主题,不得不使用我的 Laravel Sage 环境使用 ACF 制作一些自定义块。
我的 objective 是从转发器对象中检索文本列表。 (成功运行,但仍然显示错误)。
所以抛出该错误的代码如下:
page.blade.php:
@php
$tv_lists = [];
while (have_rows('tv_lists')) {
the_row();
$tv_lists[] = [
'tv_list' => get_sub_field('tv_list'),
];
}
@endphp
@if(get_field('tv_lists'))
<div class="tv-lists col-12 col-md-8 col-lg-9 block-image">
@foreach($tv_lists as $tv_list)
@if(!empty($tv_list['tv_list']))
<div class="tv-list quote-content">
<a class="tv-list-text">{{ $tv_list['tv_list'] }}</a>
</div>
@endif
@endforeach
</div>
@endif
然后 PHP 负责创建转发器块的代码如下 page.php:
->addRepeater('tv_lists', [
'conditional_logic' => [[['field' => 'links_type', 'operator' => '==', 'value' => 'list']]],
'label' => 'TV Lists',
'layout' => 'block',
])
->addText('tv_list', [
'label' => 'TV List',
])
->endRepeater()
提前感谢所有花时间阅读本文的人。
您需要在 while
之前添加 if
语句
所以你想做这样的事情。
@php
$tv_lists = [];
if (have_rows('tv_lists'){
while (have_rows('tv_lists')) {
the_row();
$tv_lists[] = [
'tv_list' => get_sub_field('tv_list'),
];
}
}
@endphp
我一直致力于开发自己的主题,不得不使用我的 Laravel Sage 环境使用 ACF 制作一些自定义块。
我的 objective 是从转发器对象中检索文本列表。 (成功运行,但仍然显示错误)。
所以抛出该错误的代码如下:
page.blade.php:
@php
$tv_lists = [];
while (have_rows('tv_lists')) {
the_row();
$tv_lists[] = [
'tv_list' => get_sub_field('tv_list'),
];
}
@endphp
@if(get_field('tv_lists'))
<div class="tv-lists col-12 col-md-8 col-lg-9 block-image">
@foreach($tv_lists as $tv_list)
@if(!empty($tv_list['tv_list']))
<div class="tv-list quote-content">
<a class="tv-list-text">{{ $tv_list['tv_list'] }}</a>
</div>
@endif
@endforeach
</div>
@endif
然后 PHP 负责创建转发器块的代码如下 page.php:
->addRepeater('tv_lists', [
'conditional_logic' => [[['field' => 'links_type', 'operator' => '==', 'value' => 'list']]],
'label' => 'TV Lists',
'layout' => 'block',
])
->addText('tv_list', [
'label' => 'TV List',
])
->endRepeater()
提前感谢所有花时间阅读本文的人。
您需要在 while
if
语句
所以你想做这样的事情。
@php
$tv_lists = [];
if (have_rows('tv_lists'){
while (have_rows('tv_lists')) {
the_row();
$tv_lists[] = [
'tv_list' => get_sub_field('tv_list'),
];
}
}
@endphp