我看到了这段代码,其中包含了我以前从未见过的部分代码。在此场景中,(数组)的行为是什么?到目前为止,我知道用php创建数组的方法,但从未见过这种情况。
//
$this->settings = array_merge( $this->settings_defaults(), (array) get_option( $this->settings_slug, $this->settings_defaults() ) );
//
我看到了这段代码,其中包含了我以前从未见过的部分代码。在此场景中,(数组)的行为是什么?到目前为止,我知道用php创建数组的方法,但从未见过这种情况。
//
$this->settings = array_merge( $this->settings_defaults(), (array) get_option( $this->settings_slug, $this->settings_defaults() ) );
//
您正在查看类型转换:http://php.net/manual/en/language.types.type-juggling.php
代码所做的是对get_option()
到阵列。这样做是为了array_merge()
工作正常,不会触发警告/错误。这是纯粹的PHP,与主题无关。我选择回答而不是发表评论的唯一原因是get_option()
将根据上下文返回各种类型的数据。您可以在来源中看到:
@param bool |混合$pre\\u选项值以返回,而不是选项值。
https://core.trac.wordpress.org/browser/tags/4.0/src/wp-includes/option.php#L42
这意味着您必须操作返回数据,以确保所处理的数据类型。是否有任何方法可以在author.php 配置文件模板取决于显示的配置文件的角色?(不是指查看它的人,而是指特定个人资料所指的作者)。如果正在显示具有角色的作者的配置文件editor, 然后会显示一些内容,如果配置文件属于具有角色的作者contributor, 然后会显示一些其他内容。我还没有找到任何答案。能做到吗?