2014-07-12 1 views
0

Я на самом деле обучения WordPress плагин развития, следуя учебник по code.tutsplus.com

На данный момент им stucked, как откуда функция получит $ ARGS параметров в функции ниже

function widget_coming_next($args) { 
    extract($args, EXTR_SKIP); 
    echo $before_widget; 
    list_upcoming_posts(); 
    echo $after_widget; 
} 

вышеуказанная функция - простая упаковка по функции list_upcoming_posts(); но все же я не вижу нигде в учебнике, что эта функция получает $ args при ее вызове.

Ниже, как функция называется

function widget_coming_next_init() { 
    wp_register_sidebar_widget(COMING_NEXT_WIDGET_ID, 
    __('Coming Next'), 'widget_coming_next'); 
} 

// Register widget to WordPress 
add_action("plugins_loaded", "widget_coming_next_init"); 

Все остальное ясно для меня, но я не в состоянии продолжать урок из-за отсутствия понимания. Спасибо всем заранее.

+0

В каком учебнике вы находитесь? У вас есть ссылка? – henrywright

+0

http://code.tutsplus.com/articles/anatomy-of-a-wordpress-plugin--net-2127 this one –

ответ

0

Третий параметр wp_register_sidebar_widget() - это функция обратного вызова, которая запускается при вызове виджета. Функция обратного вызова принимает вид:

function my_output_callback_function($args, $params){ ... } 

В вашем случае, функция обратного вызова ваша widget_coming_next() функция. $args будет массивом различных значений.

Ref: http://codex.wordpress.org/Function_Reference/wp_register_sidebar_widget

+0

да, я пытаюсь это, но я получаю пустые значения для различных переменных в теме двадцать вопросов –

+0

мой вопрос На самом деле, как $ args получает значения? Это делается самим Wordpress? если я изменю $ args на $ xyz, будет ли он таким же? –

+0

В массиве '$ args' содержатся такие вещи, как' widget_id', 'widget_name', а также значения массива аргументов из функции' register_sidebars() ', такие как' before_widget' и 'before_title'. См. [Здесь] (http://codex.wordpress.org/Function_Reference/wp_register_sidebar_widget#Output_Callback_Function_Parameters_Format) для получения дополнительной информации – henrywright

Смежные вопросы