菜单标题为链接的自定义菜单构件

时间:2012-05-14 作者:MirroredFate

正如这个问题的标题所示,我正在wordpress中寻找一个自定义菜单,其中菜单标题本身就是一个链接。这似乎是一件很简单的事情,但经过大量的搜索,我什么也没想到。

更多说明:

以下是我所拥有的:

My Custom Menu
  Link 1 (goes to page 1)
  Link 2 (goes to page 2)
  Link 3 (goes to page 3)
以下是我想要的:

My Custom Menu (goes to w/e page I choose to link it to)
  Link 1 (goes to page 1)
  Link 2 (goes to page 2)
  Link 3 (goes to page 3)
很简单,对吧?那么,有没有这个插件,或者我需要在上面写字?

1 个回复
SO网友:fuxia

您可以过滤大多数小部件的标题并更改标记。筛选器的名称为\'widget_title\' 第三个参数告诉您过滤小部件的类型。

未测试的示例代码:

add_filter( \'widget_title\', \'wpse_52108_nav_widget_title_link\', 30, 3 );

/**
 * Changes the title for the nav menu widget.
 *
 * @param string $title
 * @param string $instance
 * @param string $id_base
 * @return string
 */
function wpse_52108_nav_widget_title_link( $title, $instance = NULL, $id_base = \'\' )
{
    return \'nav_menu\' === $id_base ? "<a href=\'http://example.com\'>$title</a>" : $title;
}
The$id_base 是中的第一个参数parent::__construct() 在widget类中。对于导航菜单小部件,它是:

parent::__construct( \'nav_menu\', __(\'Custom Menu\'), $widget_ops );

结束

相关推荐

使用Pagina_Links()函数的FrontPage分页问题

我使用以下代码段输出分页:// get the current page if ( get_query_var(\'paged\') ) { $current_page = get_query_var(\'paged\'); } else if ( get_query_var(\'page\') ) { $current_page = get_query_var(\'page\'); } else { $current_pa