0

私は自分のページにマークアップを動的に作成し、そのマークアップ内で次のようなカスタムフックを実行しようとしていました:

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()関数で動的に生成されたマークアップの外に出力されます。

どうすればこれを達成できますか?

4

1 に答える 1

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;
}
于 2014-10-29T15:50:36.837 に答える