我想了解add_settings_section()回调函数中$args['id']
的含义,以及循环如何获取每个部分的id:
这里我的数组添加了部分信息:
$ap_sections = [
'section-theme-settings' => [
'title' => 'Theme settings',
'desc' => 'General theme settings'
],
'section-styling-settings' => [
'title' => 'Styling settings',
'desc' => 'settings for editing colors, fonts and css.'
],
'section-social-settings' => [
'title' => 'Social settings',
'desc' => 'Edit your social media profiles.'
]
];
这是我的循环:
foreach ( $ap_sections as $section_id => $section_value ) {
add_settings_section( $section_id, $section_value['title'], 'ap_render_section', 'ap-theme-options' );
}
这里是ap_render_section回调函数:
function ap_render_section($args) {
global $ap_sections;
echo '<p>' . $ap_sections[ $args['id'] ] ['desc'] . '</p>';
echo '<hr />';
}
我的目标是理解不是复制和代码
答案 0 :(得分:1)
每个部分都应该有唯一的ID。 add_settings_section函数中的第一个参数是添加的部分的ID。 检查WP Codex的代码:
add_settings_section(
'eg_setting_section',
'Example settings section in reading',
'eg_setting_section_callback_function',
'reading'
);
function eg_setting_section_callback_function( $arg ) {
// echo section intro text here
echo '<p>id: ' . $arg['id'] . '</p>'; // id: eg_setting_section
echo '<p>title: ' . $arg['title'] . '</p>'; // title: Example settings section in reading
echo '<p>callback: ' . $arg['callback'] . '</p>'; // callback: eg_setting_section_callback_function
}
如您所见,这里的$ arg ['id']是“eg_setting_section”。 因此,add_settings_section函数将您添加的唯一slug和title作为数组元素传递给回调函数。