了解Genesis Framework中的genesis_markup()

时间:2018-09-18 14:46:44

标签: wordpress genesis

我不明白genesis_markup函数的功能如何:

array(
    'open'  => '<aside class="widget-areainfo-onder-content">',
    'context' => 'widget-area-wrap',
    'echo'    => false,
    'params'  => array(
      'id'  => $id,
    )

进入

"<div class="widget-area">"

我不明白为什么在输出中根本没有使用id,并且也没有使用aside类。...我本以为应该使用....

当我在代码中这样做时:

$before_markup_args = array(
    'open'  => '<aside class="widget-areainfo-onder-content">',
    'context' => 'widget-area-wrap',
    'echo'    => false,
    'params'  => array(
      'id'  => $id,
    )
  );

  d($before_markup_args);

  d(genesis_markup( $before_markup_args ));

1 个答案:

答案 0 :(得分:0)

首先,我想确认缺少的空间:

    ```
    $before_markup_args = array(
        'open'  => '<aside class="widget-area info-onder-content">',
        'context' => 'widget-area-wrap',
        'echo'    => false,
        'params'  => array(
           'id'  => $id,
        )
       );
       ```

“下”是荷兰语,表示“下”。因此,“信息内容之上”是指“信息内容之下”。可能是小部件区域的标题。

这是用于genesis_widget_area函数的代码示例,通常可在WordPress Genesis子主题的functions.php文件中找到。

$widget_area_args = array('before' => genesis_markup($before_markup_args),
        );
genesis_widget_area($id, $widget_area_args);

我们可以通过在/var/www/html/wp-content/themes/genesis/lib/functions/widgetize.php文件中查找genesis_widget_area函数的定义来了解其工作原理。

function genesis_widget_area( $id, $args = array() ) {

    if ( ! $id ) {
        return false;
    }

    $defaults = apply_filters(
        'genesis_widget_area_defaults',
        array(
            'before'              => genesis_markup(
                array(
                    'open'    => '<aside class="widget-area">' . genesis_sidebar_title( $id ),
                    'context' => 'widget-area-wrap',
                    'echo'    => false,
                    'params'  => array(
                        'id' => $id,
                    ),
                )
            ),
            'after'               => genesis_markup(
                array(
                    'close'   => '</aside>',
                    'context' => 'widget-area-wrap',
                    'echo'    => false,
                )
            ),
            'default'             => '',
            'show_inactive'       => 0,
            'before_sidebar_hook' => 'genesis_before_' . $id . '_widget_area',
            'after_sidebar_hook'  => 'genesis_after_' . $id . '_widget_area',
        ),
        $id,
        $args
    );

    $args = wp_parse_args( $args, $defaults );

    if ( ! $args['show_inactive'] && ! is_active_sidebar( $id ) ) {
        return false;
    }