Wordpress高级自定义字段菜单

时间:2017-12-27 05:24:17

标签: php html wordpress advanced-custom-fields

我使用高级自定义字段在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>

由于

1 个答案:

答案 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();
        }
    });
}