首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Genesis框架中的genesis_markup()

理解Genesis框架中的genesis_markup()
EN

Stack Overflow用户
提问于 2018-09-18 22:46:44
回答 1查看 353关注 0票数 0

我不明白genesis_markup函数是怎么变的:

代码语言:javascript
复制
array(
    'open'  => '<aside class="widget-areainfo-onder-content">',
    'context' => 'widget-area-wrap',
    'echo'    => false,
    'params'  => array(
      'id'  => $id,
    )

转到

代码语言:javascript
复制
"<div class="widget-area">"

我不明白为什么在输出中根本不使用id,也不使用aside类……我会认为它应该是.....

当我在代码中这样做时:

代码语言:javascript
复制
$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 ));
EN

回答 1

Stack Overflow用户

发布于 2019-07-31 06:23:13

首先,我想确认一下缺少的空格:

代码语言:javascript
复制
    ```
    $before_markup_args = array(
        'open'  => '<aside class="widget-area info-onder-content">',
        'context' => 'widget-area-wrap',
        'echo'    => false,
        'params'  => array(
           'id'  => $id,
        )
       );
       ```

"Onder“是荷兰语,意思是”下方“。因此,"info-onder-content“的意思是”信息低于内容“。可能是小部件区域的标题。

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

代码语言:javascript
复制
$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函数的定义来了解它是如何工作的。

代码语言:javascript
复制
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;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52389215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档