我使用高级自定义字段在WordPress网站上开发了一个菜单。它的主页工作正常,不适用于其他。例如,当网站指向其搜索页面时,菜单消失。需要它出现在网站的每个页面上。
菜单代码如下
<div id="main-menu" class="menu-list">
<?php if( have_rows('header_links') ): ?>
<ul class="list-inline m-menu-ul">
<?php while( have_rows('header_links') ): the_row();
// vars
$menu_title = get_sub_field('menu_title');
$menu_link = get_sub_field('menu_link');
?>
<li class="">
<?php if( $menu_link ): ?>
<a href="<?php echo $menu_link; ?>">
<?php endif; ?>
<?php echo $menu_title; ?>
<?php if( $menu_link ): ?>
</a>
<?php endif; ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
</div>
由于
答案 0 :(得分:0)
看起来您已经定义了自定义字段&#34; header_links&#34;仅适用于主页。如果你想在所有页面中显示菜单,那么你可以将主页id作为第二个参数传递给have_rows,如下所示:
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'some_id' => ['required', 'exists:some_model,id'],
];
}
/**
* Configure the validator instance.
*
* @param \Illuminate\Validation\Validator $validator
* @return void
*/
public function withValidator(Validator $validator)
{
$validator->after(function (Validator $validator) {
if ($this->has('some_id') && Model::find($this->get('some_id'))->eloquent->isBlocked()) {
throw CustomException();
}
});
}