【发布时间】:2016-08-16 03:38:09
【问题描述】:
在纯理论中,我的问题是是否可以让一个 php 函数运行两次,每次使用不同的变量并将其作为结果返回。
在实践中,我正在修改 WordPress 的子主题(并学习一些 PHP 基础知识)。最初的主题,二十六,具有使用几个参数构造到 Google 字体的链接并输出最终 URL 的功能,然后由其他一些函数获取并插入到带有 HTML 标记的头部模板中 - 链接、href、rel , 输入。
在我的子主题中,我必须完全替换其中一种默认字体,因此我没有重新构建函数,而是将其最小化为仅包含并输出最终字体 URL,如下所示:
if ( ! function_exists( 'twentysixteen_fonts_url' ) ) :
function twentysixteen_fonts_url() {
$fonts_url = 'https://fonts.googleapis.com/css?family=Merriweather:400,700,900,400italic,700italic,900italic|Inconsolata&subset=latin,latin-ext,cyrillic,greek';
return $fonts_url;
}
endif;
我现在要做的是在此函数中获取另一个 URL (https://code.cdn.mozilla.net/fonts/fira.css),以便从 Mozilla 的 CDN 和 Google 的 CDN 加载第三种字体。
不能将其放入具有不同名称的单独函数中,因为它的输出不会被头部模板拾取。使用数组将两个 url 放入一个链接 href。
有人可以指点我正确的方向吗?
谢谢。
【问题讨论】:
-
这对你有用吗? stackoverflow.com/a/27045730
-
@MonkeyZeus - 确实如此,谢谢!至于理论上,是否有可能让一个函数运行两次并产生不同的结果,这些结果会被接收函数正确拾取并相应地复制?
-
我不确定你的意思。为了让一个函数运行两次,它需要被调用两次。如果您想了解我的意思,那么如果您愿意,我可以发布答案。
-
@MonkeyZeus 我想我明白了。在此示例中,该函数最初旨在将不同的字体名称、粗细和子集组合到一个链接中,然后输出。但是当被另一个函数调用时,它会这样做。因此,如果我希望字体函数运行两次,我需要调用它两次,从调用它的任何位置向它传递不同的参数。我想知道我是否可以强制字体函数运行两次,并使用第二个返回的 URL 使任何使用其输出的函数再次发挥它的魔力。但从你所说的我猜事情必须从调用方完成。
-
@MonkeyZeus 您愿意发布您的解决方案作为答案吗?我宁愿接受你的,也不愿让我重复你说的话。此外,您还回答了我的问题的理论部分,所以我相信您值得称赞。