Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress动态边栏小部件是如何呈现的?_Wordpress_Wordpress Theming - Fatal编程技术网

Wordpress动态边栏小部件是如何呈现的?

Wordpress动态边栏小部件是如何呈现的?,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我一直在阅读Wordpress源代码,试图更好地理解动态边栏是如何呈现的 然而,我遇到了一个关键点 894 | do_action( 'dynamic_sidebar', $wp_registered_widgets[$id] ); 我找不到add_action('dynamic_sidebar',…)的定义位置。没有这一部分,我有点迷失在发生的事情中 请参见此处的代码: 为了提供更多的上下文,我试图找出如何从一个特定的边栏中获取一个小部件数组,从那里,我需要知道如何呈现该数组中的每个小部件

我一直在阅读Wordpress源代码,试图更好地理解动态边栏是如何呈现的

然而,我遇到了一个关键点

894 | do_action( 'dynamic_sidebar', $wp_registered_widgets[$id] );
我找不到add_action('dynamic_sidebar',…)的定义位置。没有这一部分,我有点迷失在发生的事情中

请参见此处的代码:

为了提供更多的上下文,我试图找出如何从一个特定的边栏中获取一个小部件数组,从那里,我需要知道如何呈现该数组中的每个小部件


我需要比
动态工具条(…)更好的控制
为我提供了

那么,特定的行允许您访问每个已注册的小部件属性,它的使用方式如下:

<?php
/* Plugin Name: Test registered widgets */

add_action( 'dynamic_sidebar', 'sidebar_widgets_so_18666065' );

/**
 * As this is an action hook, we don't return nothing
 * use the passed values to do your stuff
 */
function sidebar_widgets_so_18666065( $registered_widget )
{
    # Each registered widget passes the following array
    /*
    $registered_widget = Array
    (
        [name] => Meta
        [id] => meta-2
        [callback] => Array
            (
                [0] => WP_Widget_Meta Object
                    (
                        [id_base] => meta
                        [name] => Meta
                        [widget_options] => Array
                            (
                                [classname] => widget_meta
                                [description] => Log in/out, admin, feed and WordPress links
                            )

                        [control_options] => Array
                            (
                                [id_base] => meta
                            )

                        [number] => 2
                        [id] => meta-2
                        [updated] => 
                        [option_name] => widget_meta
                    )

                [1] => display_callback
            )

        [params] => Array
            (
                [0] => Array
                    (
                        [number] => 2
                    )

            )

        [classname] => widget_meta
        [description] => Log in/out, admin, feed and WordPress links
    )
    */
}

我在WP交换上也问了这个问题,看起来display\u回调实际上是呈现小部件的函数。对吗?不太确定,WPSE的链接是什么?似乎你有三个问题:1)894行是做什么的。2) 从特定的边栏抓取小部件。3) 以您自己的方式呈现此窗口小部件。我怀疑
1
2
3
没有帮助,也许他们应该单独提问和研究。