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