将帖子摘录添加到导航菜单

时间:2016-08-11 作者:mike

在每个菜单项之后,我想在其下方添加页面摘录。

因此,如果我有一个如下所示的菜单:

主页关于联系人我想将页面摘录如下:

主页这是关于的主页摘录这是关于联系人的主页摘录我可以使用wp_nav_menu() 呼叫还是我必须定制导航助行器?

2 个回复
SO网友:kingkool68

wp_nav_menu() 呼叫walk_nav_menu_tree() 这就叫Walker_Nav_Menu class.

在这些函数中有几个过滤器可以连接,但我想看看nav_menu_item_title 中的筛选器Walker_Nav_Menu 班以下是来源:

/**
* Filter a menu item\'s title.
*
* @since 4.4.0
*
* @param string $title The menu item\'s title.
* @param object $item  The current menu item.
* @param array  $args  An array of {@see wp_nav_menu()} arguments.
* @param int    $depth Depth of menu item. Used for padding.
*/
$title = apply_filters( \'nav_menu_item_title\', $title, $item, $args, $depth );
所以你可以这样写一个过滤器:

function my_nav_menu_item_title( $title, $item, $args, $depth ) {
    $title .= \'<span class="excerpt">\' . $item->post_excerpt . \'</span>\';
    return $title;
}
add_filter( \'nav_menu_item_title\', \'my_nav_menu_item_title\', 10, 4 );
我还没有对此进行测试,但它应该会引导您朝着正确的方向前进。我会检查$item.

SO网友:user3869231

因kingkool68解决

function my_nav_menu_item_title( $title, $item, $args, $depth ) {
  $pid = $item->object_id;

  $text = get_the_excerpt($pid);

  $title .= \'<span class="excerpt">\' . $text . \'</span>\';
  return $title;

}

相关推荐

WordPress中声明SplitMenuWalker::Walk($Elements,$max_Depth)时出现警告

我开始在WordPress网站上收到以下错误:警告:SplitMenuWalker::walk($elements,$max\\u depth)的声明应与/home/relati67/public\\u html/wp content/themes/mentis/inc/mega menu/split menu中的walk::walk($elements,$max\\u depth,$args)兼容。php第0行我不知道在这里该怎么办。我发现了一个具有类似内容的线程,但错误指向特定行(不是第0行),并且不