在本系列的第一部分中,我们介绍了WordPress主题,以及与WordPress主题开发有关的基本术语。我们介绍了
模板,partials,>模板层次结构, wordpress post types ,style.css.css stylelesheet,wordpress,wordpress,wordpress, filter和操作挂钩, wordpress loop ,有条件标签,我们简要介绍了一个典型的简单WordPress主题文件结构。
钥匙要点- 开始,使用index.php和style.css文件设置一个裸露的最低主题,确保WordPress识别您的新主题。
- 集成了响应式设计和美学的引导程序,修改模板文件以包括Bootstrap的HTML和CSS类。
- > >利用function.php文件来添加自定义功能,启用样式和脚本,并有效地管理WordPress挂钩。
- > >使用WordPress挂钩和条件来自定义标题和导航菜单的动态输出以适应不同的页面类型。
- 通过调整CSS和使用媒体查询,请确保您的主题在移动设备上响应迅速且用户友好。
>我们要做的第一件事是安装一个插件,该插件将使我们能够批量创建WordPress帖子和其他内容。这样,我们将能够快速填充我们的开发网站而不会浪费太多时间。一个实现此目的的插件是Gustavo Bordoni的FakerPress,可在WordPress插件存储库中提供。
我们通过WP-CLI快速安装和激活插件。
>现在,当我们登录到管理仪表板时,我们将看到FakerPress已安装,我们可以在批处理中创建各种内容,包括我们拥有的任何自定义帖子类型。
现在,使用此插件,我们将创建一些虚假的内容。这是结果,使用默认二十七
>
>现在,我们迅速潜入并设置了一个由catch-all index.php文件和style.css组成的裸露的最低主题,我们对于WordPress模板系统需要它以识别主题:>
这是style.css,目前仅由元CSS评论组成。这些评论是需要的。
>这是index.php文件。它将暂时捕获所有请求:
<span>/* </span><span>Theme Name: Botega Simple Theme </span><span>Theme URI: https://botega.co.uk </span><span>Author: Tonino Jankov </span><span>Author URI: https://botega.co.uk </span><span>Description: Basic WordPress theme for Sitepoint theme building tutorial </span><span>Text Domain: bsimple </span><span>Version: 1.0.0 </span><span>License: GNU General Public License v2 or later </span><span>*/ </span>
>我们现在上传并激活我们拥有的最小主题。我使用wp-cli激活它:
现在,WordPress可以看到该主题,并且处于活动状态:
如果我们现在在浏览器中访问我们的网站,这就是我们所看到的:
>
显然,我们有工作要做。
> Bloginfo()函数用于输出网站信息。
>控制结构)看起来像这样:
>我们需要在用内容循环时填充它 - 或用内容输出的WordPress标签。
如果我们通过添加the_title(),the_excerpt()更改循环,然后添加html markup和the_id(),以使其看起来像这样:
>
>现在,我们将在主页上获取帖子列表,而没有应用样式:
<span><span><?php </span></span><span><span>/** </span></span><span><span> * </span></span><span><span> * <span>@package Botega_Scratch_Theme </span></span></span><span><span> */ </span></span><span><span>?></span> </span> <span><span> </span><span><span><span> <span><span><?php language_attributes(); ?></span></span>></span> </span><span><span><span>></span> </span> <span><span><span><title>></title></span><span><?php bloginfo('name'); ?></span><span><span></span>></span> </span> <span><span><span><link> rel<span>="stylesheet"</span> href<span>="<span><?php bloginfo('stylesheet_url'); ?></span>"</span>></span> </span> <span><span><?php wp_head(); ?></span> </span><span><span><span></span>></span> </span><span><span><span>></span> </span> <span><span><span><header>></header></span> </span> <span><span><span><h1 id="gt">></h1></span><span><?php bloginfo('name'); ?></span><span><span></span>></span> </span> <span><span><span><h3 id="gt">></h3></span><span><?php bloginfo('description'); ?></span><span><span></span>></span> </span> <span><span><span></span>></span> </span> <span><span><?php </span></span><span> <span>if ( have_posts() ) : </span></span><span> <span>/* Start the Loop */ </span></span><span> <span>while ( have_posts() ) : </span></span><span> <span>the_post(); </span></span><span> <span>endwhile; </span></span><span> <span>endif; </span></span><span> <span>?></span> </span> <span><span><span></span>></span> </span></span></span></span></span></span></span></span></span></span></span></span>
WordPress显示一个博客页面 - 所有博客文章的存档页面 - 默认情况下。
如果我们现在访问单个帖子URL - 类似于http://my-website.com/2018/11/14/sapiente-ad-facilis-quo-repellat-quos/-我们会看到这样的东西:
<span><span><?php </span></span><span><span>if ( have_posts() ) { </span></span><span> <span>while ( have_posts() ) { </span></span><span> <span>the_post(); </span></span><span> <span>// </span></span><span> <span>// Post Content here </span></span><span> <span>// </span></span><span> <span>} // end while </span></span><span><span>} // end if </span></span><span><span>?></span> </span></span>
我们的
,尽管很粗糙,但实际上是有效的。
>将我们的主题构造到文件中并应用Bootstrap Markup>现在,我们将使用Twitter Bootstrap标记来实现partials,例如header.php and footer.php和各种专用模板,以便我们更轻松地进行样式。
>从index.php开始,我们用get_header()和get_footer()函数替换循环之前和之后的所有内容
>与我们所说的一致 - 我们将使用Twitter bootstrap主题 - 我们的header.php文件将看起来像这样:
我们的footer.php文件将看起来像:
<span>/*
</span><span>Theme Name: Botega Simple Theme
</span><span>Theme URI: https://botega.co.uk
</span><span>Author: Tonino Jankov
</span><span>Author URI: https://botega.co.uk
</span><span>Description: Basic WordPress theme for Sitepoint theme building tutorial
</span><span>Text Domain: bsimple
</span><span>Version: 1.0.0
</span><span>License: GNU General Public License v2 or later
</span><span>*/
</span>
我们正在使用HTML标签中的Bootstrap类,以及WP_head()和WP_FOOTER()FIRE WP_HEAD和WP_FOOTER ACTION HOCKS。
我们将要做的接下来的事情是从startbootstrap.com上包括Clean Bootstrap模板的CSS和JavaScript,该模板带有MIT许可证,因此我们可以自由使用。这样,我们的主题将带有预定义的样式,响应能力,我们仍然能够进一步设置。> functions.php
> functions.php是一个带有任何严重WordPress主题的文件。这是一个充当穷人插件存档的文件。它允许我们在主题中包含任何自定义功能。
>我们首先使用此文件包括Bootstrap和Bootstrap主题的样式和脚本:
这是一种在主题中包含脚本和样式的WordPress-事务方式。它允许我们指定脚本的位置将被登录(标题与页脚)和重点的优先级。我们甚至可以指定每个特定资源对彼此的依赖性。这将确保资源将以正确的顺序加载。
<span><span><?php </span></span><span><span>/** </span></span><span><span> * </span></span><span><span> * <span>@package Botega_Scratch_Theme </span></span></span><span><span> */ </span></span><span><span>?></span> </span> <span><span> </span><span><span><span> <span><span><?php language_attributes(); ?></span></span>></span> </span><span><span><span>></span> </span> <span><span><span><title>></title></span><span><?php bloginfo('name'); ?></span><span><span></span>></span> </span> <span><span><span><link> rel<span>="stylesheet"</span> href<span>="<span><?php bloginfo('stylesheet_url'); ?></span>"</span>></span> </span> <span><span><?php wp_head(); ?></span> </span><span><span><span></span>></span> </span><span><span><span>></span> </span> <span><span><span><header>></header></span> </span> <span><span><span><h1 id="gt">></h1></span><span><?php bloginfo('name'); ?></span><span><span></span>></span> </span> <span><span><span><h3 id="gt">></h3></span><span><?php bloginfo('description'); ?></span><span><span></span>></span> </span> <span><span><span></span>></span> </span> <span><span><?php </span></span><span> <span>if ( have_posts() ) : </span></span><span> <span>/* Start the Loop */ </span></span><span> <span>while ( have_posts() ) : </span></span><span> <span>the_post(); </span></span><span> <span>endwhile; </span></span><span> <span>endif; </span></span><span> <span>?></span> </span> <span><span><span></span>></span> </span></span></span></span></span></span></span></span></span></span></span></span>>
我们在这里使用WP_ENQUEUE_SCRIPTS ACTION HONK。我们可以在法典中了解更多有关它的信息。 (我们在上一篇文章中介绍了动作钩。)
在我们的自定义bsimple_scripts()函数(我们将其连接到wp_enque_scripts action Hook)中 >我们可以看到我们正在从Internet(Google字体)和主题文件夹中加载样式。因此,我们在主题文件夹中创建CSS,JS和WebFonts目录,并复制Bootstrap主题的CSS,JavaScript文件以及Fontawesome Icon-Font Files。
>
调整标记 >如果我们现在访问主页,我们将在顶部看到菜单 - 尽管它和页面仍然是一团糟 - 因为标题中的以下行仍在输出包装在DIV及其自己的UL中的菜单标签,因此不受我们的bootstrap样式的影响:
我们完成此操作后,我们将转到header.php文件删除以下行: 在他们的位置,我们将这些行: >这将为我们删除DIV标签和UL标签的重复,但是我们仍然需要将NAV-ITEM和NAV-LINK应用于我们的菜单项(分别为LI和A标签)。我们将如何解决? WP_NAV_MENU不为此提供参数。我们将使用NAV_MENU_LINK_ATTRIBUTES和NAV_MENU_CSS_CLASS过滤器挂钩。我们将其放入我们的functions.php文件中: 现在,我们可以在header.php中的wp_nav_menu中指定新属性: 现在,我们的顶级菜单链接可以利用Bootstrap主题的CSS中已经定义的样式。 >能够使用动态标头 - 即首页的不同标头,其他选定页面或档案 - 我们将在我们的function.php文件中定义dynamic_header()函数, 'll输出我们的标头标记取决于访问者加载的页面。
>
>
顶部菜单
。<span><span><?php </span></span><span><span>if ( have_posts() ) {
</span></span><span> <span>while ( have_posts() ) {
</span></span><span> <span>the_post();
</span></span><span> <span>//
</span></span><span> <span>// Post Content here
</span></span><span> <span>//
</span></span><span> <span>} // end while
</span></span><span><span>} // end if
</span></span><span><span>?></span>
</span></span>
> https://uploads.sitepoint.com/wp-content/uploads/2018/11/11/1542595661customizer.mp4<span>/*
</span><span>Theme Name: Botega Simple Theme
</span><span>Theme URI: https://botega.co.uk
</span><span>Author: Tonino Jankov
</span><span>Author URI: https://botega.co.uk
</span><span>Description: Basic WordPress theme for Sitepoint theme building tutorial
</span><span>Text Domain: bsimple
</span><span>Version: 1.0.0
</span><span>License: GNU General Public License v2 or later
</span><span>*/
</span>
<span><span><?php </span></span><span><span>/**
</span></span><span><span> *
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> */
</span></span><span><span>?></span>
</span>
<span><span>
</span><span><span><span> <span><span><?php language_attributes(); ?></span></span>></span>
</span><span><span><span>></span>
</span> <span><span><span><title>></title></span><span><?php bloginfo('name'); ?></span><span><span></span>></span>
</span> <span><span><span><link> rel<span>="stylesheet"</span> href<span>="<span><?php bloginfo('stylesheet_url'); ?></span>"</span>></span>
</span> <span><span><?php wp_head(); ?></span>
</span><span><span><span></span>></span>
</span><span><span><span>></span>
</span>
<span><span><span><header>></header></span>
</span> <span><span><span><h1 id="gt">></h1></span><span><?php bloginfo('name'); ?></span><span><span></span>></span>
</span> <span><span><span><h3 id="gt">></h3></span><span><?php bloginfo('description'); ?></span><span><span></span>></span>
</span> <span><span><span></span>></span>
</span>
<span><span><?php </span></span><span> <span>if ( have_posts() ) :
</span></span><span> <span>/* Start the Loop */
</span></span><span> <span>while ( have_posts() ) :
</span></span><span> <span>the_post();
</span></span><span> <span>endwhile;
</span></span><span> <span>endif;
</span></span><span> <span>?></span>
</span>
<span><span><span></span>></span>
</span></span></span></span></span></span></span></span></span></span></span></span>
<span><span><?php </span></span><span><span>if ( have_posts() ) {
</span></span><span> <span>while ( have_posts() ) {
</span></span><span> <span>the_post();
</span></span><span> <span>//
</span></span><span> <span>// Post Content here
</span></span><span> <span>//
</span></span><span> <span>} // end while
</span></span><span><span>} // end if
</span></span><span><span>?></span>
</span></span>
<span><span><?php </span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post(); ?></span>
</span>
<span><span><span><div> id<span>="post-<span><?php the_ID(); ?></span>"</span>>
<span><span><span><h2 id="gt">></h2></span><span><?php the_title(); ?></span><span><span></span>></span>
</span> <span><span><span><div> class<span>="post-excerpt"</span>><span><?php the_excerpt(); ?></span><span><span></span></span>
</div></span>></span>
</span> <span><span><span></span></span></span></span>
</div></span>></span>
</span>
<span><span><?php endwhile;
</span></span><span> <span>endif;
</span></span><span> <span>?></span>
</span></span></span>
动态标头
<span><span><?php </span></span><span><span>/**
</span></span><span><span> *
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> */
</span></span><span>
</span><span><span>get_header(); ?></span>
</span>
<span><span><?php </span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post(); ?></span>
</span>
<span><span><span><div> id<span>="post-<span><?php the_ID(); ?></span>"</span>>
<span><span><span><h2 id="gt">></h2></span><span><?php the_title(); ?></span><span><span></span>></span>
</span> <span><span><span><div> class<span>="post-excerpt"</span>><span><?php the_excerpt(); ?></span><span><span></span></span>
</div></span>></span>
</span> <span><span><span></span></span></span></span>
</div></span>></span>
</span>
<span><span><?php endwhile;
</span></span><span> <span>endif;
</span></span><span> <span>?></span>
</span>
<span><span><?php get_footer(); ?></span>
</span></span></span></span>
我们还将定义这样的功能:<span><span><?php </span></span><span><span>/**
</span></span><span><span> * The header for our theme.
</span></span><span><span> *
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> *
</span></span><span><span> */
</span></span><span><span>?></span>
</span><span><span>
</span><span><span><span>></span>
</span><span><span><span>></span>
</span><span><span><span><meta> charset<span>="<span><?php bloginfo( 'charset' ); ?></span>"</span>></span>
</span><span><span><span><meta> name<span>="viewport"</span> content<span>="width=device-width, initial-scale=1"</span>></span>
</span>
<span><span><?php wp_head(); ?></span>
</span><span><span><span></span>></span>
</span>
<span><span><span> <span><span><?php body_class(); ?></span></span>></span>
</span>
<span><span><span><nav> class<span>="navbar navbar-default navbar-custom navbar-fixed-top"</span>></nav></span>
</span> <span><span><span><div> class<span>="container-fluid"</span>>
<span><span><span><div> class<span>="navbar-header page-scroll"</span>>
<span><span><span><a> href<span>="<span><?php echo esc_url( home_url( '/' ) ); ?></span>"</span> rel<span>="home"</span> class<span>="navbar-brand"</span>></a></span><span><?php bloginfo( 'name' ); ?></span><span><span></span>></span>
</span> <span><span><span></span></span></span></span>
</div></span>></span>
</span>
<span><span><span><div> class<span>="collapse navbar-collapse"</span> id<span>="bs-example-navbar-collapse-1"</span>>
<span><span><span><ul> class<span>="nav navbar-nav navbar-right"</span>></ul></span>
</span> <span><span><?php wp_nav_menu( array( 'theme_location' => 'primary', 'items_wrap' => '%3$s' ) ); ?></span>
</span> <span><span><span></span>></span>
</span> <span><span><span></span></span></span></span>
</div></span>></span>
</span> <span><span><span></span></span></span>
</div></span>></span>
</span> <span><span><span></span>></span>
</span>
<span><span><span><div> class<span>="container"</span>>
<span><span><span><div> class<span>="row"</span>>
>能够使用当前的所有URL或发布数据(例如在循环中),我们声明了$ post actible global。然后,我们只用填充标头HTML填充不同的页面或请求案例,我们将在以后完成。这为真正动态的标题奠定了基础。<p>
</p>>我们需要确保即使登录用户时,我们的头版也将看起来不错。WordPress登录访问者,即使在访问者访问时也显示<anc.> admin bar<p>首页。因为它具有位置:修复了,它覆盖了我们网站上的顶部区域,涵盖了那里的任何内容,因此我们需要为我们的顶级菜单指定偏移。<em>
</em>我们将其添加到我们的style.css:</p>
<p>
</p>>这确保#mainnav(我们的菜单容器)从顶部具有足够的偏移,因此在用户登录时未覆盖。WordPress在这些情况下添加了登录名和管理式式类别,因此我们可以很容易地定位它。<pre class="brush:php;toolbar:false"><span><span><?php </span></span><span><span>/**
</span></span><span><span> * Footer template partial
</span></span><span><span> *
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> *
</span></span><span><span> */
</span></span><span><span>?></span>
</span> <span><span><span></span></span></span></span>
>我们可以看到我们解决了CSS中的两种情况 - 一个默认情况,另一种用于较小的屏幕。这是因为WordPress在移动设备上输出更宽的管理栏,因此我们需要提供46px偏移。
在移动设备上,我们现在应该有一个响应迅速的JavaScript供电下拉菜单:结论
在第二部分中,关于从头开始创建WordPress主题的第二部分中,我们创建了一个非常基本的WordPress主题,并将Bootstrap样式和脚本包括在其中。我们调整了菜单输出以适合我们的预定义样式。我们还将标题和页脚输出分为各自的部分。
> functions.php文件(主题开发中的关键文件)是我们介绍和利用的另一个主题。标题输出已分为自己的函数,该功能将使用页面访问的细节和站点所有者定义的变量来确定最终输出。
在指南的第三部分中,我们将完成特定的模板,为我们的主题功能和部分提供更好的结构,并完成我们网站的样式。
在本系列中有三篇有关从头开始构建WordPress主题的文章:
>在主题结构
- 上
- 主题基础
- 完善主题
- 经常询问有关从头开始构建WordPress主题的问题(常见问题解答)
如何开始从scratch构建WordPress主题?如何将自定义功能添加到我的WordPress主题中?
>您可以通过WordPress主题添加自定义功能在主题目录中创建functions.php文件。该文件的作用像插件,使您可以在主题中添加自定义功能和功能。您可以使用它来注册导航菜单,添加侧边栏,排名样式和脚本等等。 'LL需要在CSS代码中使用媒体查询。媒体查询允许您根据用户屏幕的大小应用不同的样式。这意味着您可以为台式机,平板电脑和移动设备创建不同的布局。您还需要确保图像响应迅速,您可以将其宽度设置为100%。>如何自定义WordPress主题的标头和页脚?
>您可以通过在主题目录中创建headpress.php文件和footer.php文件来自定义WordPress主题的标题和页脚。 header.php文件是您为标题编写HTML和PHP代码的地方,footer.php文件是您为页脚编写代码的地方。然后,您可以使用get_header()和get_footer()functions。通过在您的functions.php文件中使用register_post_type()函数的自定义帖子类型为您的WordPress主题。此功能使您可以定义具有自己的标签,功能和功能的新帖子类型。然后,您可以创建一个单{postType} .php文件和一个存档 - {postType} .php文件来控制您自定义帖子类型的显示。>如何将导航菜单添加到我的WordPress主题?
>您可以在您的WordPress主题中添加导航菜单WordPress主题通过在您的functions.php文件中使用register_nav_menus()函数。此功能使您可以在主题中注册一个或多个导航菜单。然后,您可以使用wp_nav_menu()函数在其他模板文件中显示您的菜单。>如何自定义我的WordPress主题中的循环?>您可以通过更改来更新WordPress主题到您的主题文件,然后将它们上传到您的WordPress网站。如果您使用的是子主题,则可以更新父主题而不会失去更改。如果您不使用儿童主题,则应在更新主题之前对主题进行备份,因为更新将覆盖您的更改。
>
以上是如何从头开始构建WordPress主题:基础知识的详细内容。更多信息请关注PHP中文网其他相关文章!

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。

如何复制 WordPress 子站?步骤:在主站创建子站。在主站克隆子站。将克隆导入目标位置。更新域名(可选)。分开插件和主题。

在WordPress中创建自定义页头的步骤如下:编辑主题文件“header.php”。添加您的网站名称和描述。创建导航菜单。添加搜索栏。保存更改并查看您的自定义页头。

WordPress 网站中启用评论功能:1. 登录管理面板,转到 "设置"-"讨论",勾选 "允许评论";2. 选择显示评论的位置;3. 自定义评论表单;4. 管理评论,批准、拒绝或删除;5. 使用 <?php comments_template(); ?> 标签显示评论;6. 启用嵌套评论;7. 调整评论外形;8. 使用插件和验证码防止垃圾评论;9. 鼓励用户使用 Gravatar 头像;10. 创建评论指

可以通过 WordPress 安装 FTP 插件,配置 FTP 连接,然后使用文件管理器上传源码。步骤包括:安装 FTP 插件、配置连接、浏览上传位置、上传文件、检查上传成功。

如何复制 WordPress 代码?从管理界面复制:登录 WordPress 网站,导航到目标位置,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。从文件复制:使用 SSH 或 FTP 连接到服务器,导航到主题或插件文件,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。

WordPress 错误解决指南:500 内部服务器错误:禁用插件或检查服务器错误日志。404 未找到页面:检查 permalink 并确保页面链接正确。白屏死机:增加服务器 PHP 内存限制。数据库连接错误:检查数据库服务器状态和 WordPress 配置。其他技巧:启用调试模式、检查错误日志和寻求支持。预防错误:定期更新 WordPress、仅安装必要插件、定期备份网站和优化网站性能。

如何在 WordPress 中关闭评论?特定文章或页面:在编辑器中取消选中“讨论”下的“允许评论”。整个网站:在“设置”->“讨论”中取消选中“允许发表评论”。使用插件:安装 Disable Comments 等插件禁用评论。编辑主题文件:通过编辑 comments.php 文件移除评论表单。自定义代码:使用 add_filter() 函数禁用评论。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。