функция
since 4.9.0
wp_print_plugin_file_tree()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_print_plugin_file_tree( array|string $tree, string $label = '', int $level = 2, int $size = 1, int $index = 1 )
Описание
Выводит отформатированный список файлов для редактора файлов плагина.
Параметры
$tree
array|string
обязательный
Список путей к файлам/папкам или имя файла.
$label
string
необязательный
= ''
Имя файла или папки для вывода.
$level
int
необязательный
= 2
Значение aria-level для текущей итерации.
$size
int
необязательный
= 1
Значение aria-setsize для текущей итерации.
$index
int
необязательный
= 1
Значение aria-posinset для текущей итерации.
Исходный код
wp-admin/includes/misc.php:504
function wp_print_plugin_file_tree( $tree, $label = '', $level = 2, $size = 1, $index = 1 ) {
global $file, $plugin;
if ( is_array( $tree ) ) {
$index = 0;
$size = count( $tree );
foreach ( $tree as $label => $plugin_file ) :
++$index;
if ( ! is_array( $plugin_file ) ) {
wp_print_plugin_file_tree( $plugin_file, $label, $level, $index, $size );
continue;
}
?>
<li role="treeitem" aria-expanded="true" tabindex="-1"
aria-level="<?php echo esc_attr( $level ); ?>"
aria-setsize="<?php echo esc_attr( $size ); ?>"
aria-posinset="<?php echo esc_attr( $index ); ?>">
<span class="folder-label"><?php echo esc_html( $label ); ?> <span class="screen-reader-text">
<?php
/* translators: Hidden accessibility text. */
_e( 'folder' );
?>
</span><span aria-hidden="true" class="icon"></span></span>
<ul role="group" class="tree-folder"><?php wp_print_plugin_file_tree( $plugin_file, '', $level + 1, $index, $size ); ?></ul>
</li>
<?php
endforeach;
} else {
$url = add_query_arg(
array(
'file' => rawurlencode( $tree ),
'plugin' => rawurlencode( $plugin ),
),
self_admin_url( 'plugin-editor.php' )
);
?>
<li role="none" class="<?php echo esc_attr( $file === $tree ? 'current-file' : '' ); ?>">
<a role="treeitem" tabindex="<?php echo esc_attr( $file === $tree ? '0' : '-1' ); ?>"
href="<?php echo esc_url( $url ); ?>"
aria-level="<?php echo esc_attr( $level ); ?>"
aria-setsize="<?php echo esc_attr( $size ); ?>"
aria-posinset="<?php echo esc_attr( $index ); ?>">
<?php
if ( $file === $tree ) {
echo '<span class="notice notice-info">' . esc_html( $label ) . '</span>';
} else {
echo esc_html( $label );
}
?>
</a>
</li>
<?php
}
}
История изменений
| Версия | Описание |
|---|---|
| 4.9.0 | Introduced. |

