函数文档

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.