2013-09-06 5 views
2

저는 Wordpress Source를 통해 읽고 있는데, 동적 사이드 바를 렌더링하는 방법을 더 잘 이해하려고합니다.Wordpress 동적 사이드 바 위젯은 어떻게 렌더링됩니까?

그러나, 나는 ADD_ACTION ('dynamic_sidebar', ...)을 정의 어디서 찾을 수없는

894 | do_action('dynamic_sidebar', $wp_registered_widgets[$id]); 

... 점착 지점을 타격하고있다. 그 부분이 없으면, 나는 일종의 일에서 잃어버린 것입니다.

여기에 코드를 참조하십시오 :

https://github.com/WordPress/WordPress/blob/b7c13e27c255e1fc1f03ab2ab432f1652a0ac212/wp-includes/widgets.php#L894

그리고 특정 사이드 바에서 위젯의 배열을 잡아, 거기에서, 내가 알아야하는 방법을 알아 내려고 노력하고, 더 컨텍스트를 제공하기 어떻게 배열 내의 각 위젯을 렌더링하겠습니까?

나는 dynamic_sidebar(...);이 특정 라인은 등록 된 각 위젯 속성에 액세스하도록 허용, 그럼 나에게

+0

하나에 3 가지 질문이있는 것 같습니다. 1) 894 행. 2) 특정 사이드 바에서 위젯을 가져옵니다. 3)이 위젯을 자신 만의 방식으로 렌더링하십시오. . . . 나는 '1'이 '2'와 '3'을 도울 수 없을 것이라고 생각한다. 아마도 그들은 별도의 질문과 연구가 필요할 것이다. – brasofilo

답변

1

을 제공보다 세밀하게 제어를 필요로하고,이 같이 사용되는 : 워드 프레스 답변에서

<?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 
    ) 
    */ 
} 

Relevant search query.

+0

나는 WP Exchange에서도이 질문을했고 display_callback이 실제로 위젯을 렌더링하는 함수 인 것처럼 보였다. 그 맞습니까? –

+0

WPSE의 링크는 무엇입니까? – brasofilo

+0

http://wordpress.stackexchange.com/questions/113243/how-are-dynamic-sidebar-widgets-rendered/113245?noredirect=1#113245 –

관련 문제