我试图在我的页面上动态创建标记,并在该标记内运行一个这样的自定义钩子:
add_action( 'genesis_after', 'mw_add_offcanvas' );
function mw_add_offcanvas()
{
$out = '<div class="shifter-navigation">';
/**
* Using this hook:
* mw_add_offcanvas_sidebar
* mw_offcanvas_menu
*/
$out .= do_action( 'mw_inside_offcanvas' );;
$out .= '</div>';
echo $out;
}
目标是然后能够将小部件区域或菜单分配给该钩子:
function mw_add_offcanvas_sidebar() {
genesis_widget_area( 'sidebar-navigation', array(
'before' => '<div class="widget-area">',
'after' => '</div>',
) );
}
add_action( 'mw_inside_offcanvas', 'mw_add_offcanvas_sidebar' );
这实际上有效,尽管元素是在用mw_add_offcanvas()
函数动态生成的标记之外输出的。
我怎样才能做到这一点?
答案 0 :(得分:0)
在StudioPress论坛中找到解决方案,在此处发布以供参考:
function mw_add_offcanvas()
{
$out = '<div class="shifter-navigation">';
/**
* Using this hook:
* mw_add_offcanvas_sidebar
* mw_offcanvas_menu
*/
ob_start();
do_action( 'mw_inside_offcanvas' );
$out .= ob_get_contents();
ob_get_clean();
$out .= '</div>';
echo $out;
}