install_dashboard()
云策文档标注
概述
install_dashboard() 函数用于在插件安装页面显示“特色”标签页,展示插件列表和热门标签云。它调用 display_plugins_table() 来显示插件内容,并处理标签数据以生成可视化标签云。
关键要点
- install_dashboard() 是 WordPress 核心函数,位于 wp-admin/includes/plugin-install.php 文件中。
- 函数主要功能是显示插件安装页面的“特色”标签页,包括插件表格和热门标签。
- 通过调用 display_plugins_table() 显示插件列表,并使用 wp_generate_tag_cloud() 生成标签云。
- 函数处理 API 返回的标签数据,包括错误检查和数据格式化,确保安全性和可读性。
- 相关函数包括 install_popular_tags()、sanitize_title_with_dashes()、self_admin_url() 等,用于辅助功能实现。
- 自 WordPress 2.7.0 版本引入,是插件安装界面的核心组成部分。
代码示例
Source function install_dashboard() {
display_plugins_table();
?>
<div class="wp-filter">
<ul class="filter-links">
<li><a href="<?php echo esc_url( self_admin_url( 'plugin-install.php?tab=featured' ) ); ?>" class="current"><?php _e( 'Featured' ); ?></a></li>
<li><a href="<?php echo esc_url( self_admin_url( 'plugin-install.php?tab=popular' ) ); ?>"><?php _e( 'Popular' ); ?></a></li>
<li><a href="<?php echo esc_url( self_admin_url( 'plugin-install.php?tab=recommended' ) ); ?>"><?php _e( 'Recommended' ); ?></a></li>
<li><a href="<?php echo esc_url( self_admin_url( 'plugin-install.php?tab=favorites' ) ); ?>"><?php _e( 'Favorites' ); ?></a></li>
</ul>
</div>
<?php
$api_tags = install_popular_tags();
echo '<h2 class="screen-reader-text">' . __( 'Popular tags' ) . '</h2>';
if ( is_wp_error( $api_tags ) ) {
echo $api_tags->get_error_message();
} else {
$tags = array();
foreach ( (array) $api_tags as $tag ) {
$url = self_admin_url( 'plugin-install.php?tab=search&type;=tag&s;=' . urlencode( $tag['name'] ) );
$data = array(
'link' => esc_url( $url ),
'name' => $tag['name'],
'slug' => $tag['slug'],
'id' => sanitize_title_with_dashes( $tag['name'] ),
'count' => $tag['count'],
);
$tags[ $tag['name'] ] = (object) $data;
}
echo wp_generate_tag_cloud(
$tags,
array(
'single_text' => __( '%s plugin' ),
'multiple_text' => __( '%s plugins' ),
)
);
}
echo '</div>';
}注意事项
- 函数依赖于 install_popular_tags() 获取标签数据,需确保 API 调用正常。
- 使用 is_wp_error() 检查错误,避免因 API 问题导致页面显示异常。
- 标签数据通过 sanitize_title_with_dashes() 和 esc_url() 进行安全处理,防止 XSS 攻击。
- 函数输出 HTML 结构,包括过滤器链接和标签云,需确保主题或插件兼容此输出。
- 自 2.7.0 版本引入,在更新或自定义时需注意版本兼容性。
原文内容
Displays the Featured tab of Add Plugins screen.
Source
function install_dashboard() {
display_plugins_table();
?>
<div class="plugins-popular-tags-wrapper">
<h2></h2>
<p></p>
';
if ( is_wp_error( $api_tags ) ) {
echo $api_tags->get_error_message();
} else {
// Set up the tags in a way which can be interpreted by wp_generate_tag_cloud().
$tags = array();
foreach ( (array) $api_tags as $tag ) {
$url = self_admin_url( 'plugin-install.php?tab=search&type;=tag&s;=' . urlencode( $tag['name'] ) );
$data = array(
'link' => esc_url( $url ),
'name' => $tag['name'],
'slug' => $tag['slug'],
'id' => sanitize_title_with_dashes( $tag['name'] ),
'count' => $tag['count'],
);
$tags[ $tag['name'] ] = (object) $data;
}
echo wp_generate_tag_cloud(
$tags,
array(
/* translators: %s: Number of plugins. */
'single_text' => __( '%s plugin' ),
/* translators: %s: Number of plugins. */
'multiple_text' => __( '%s plugins' ),
)
);
}
echo '</p><br class="clear" /></div>';
}
Changelog
| Version | Description |
|---|---|
| 2.7.0 | Introduced. |