我同意这更像是一个基本的PHP问题,但我可以看出您的来龙去脉。许多WordPress函数都像您正在尝试的那样接受查询字符串格式的参数,因此最好确切了解它们是如何执行的。特别是短代码函数。
首先,您需要修改helloworld()
方法接受参数。然后通过WordPress函数将它们与默认值进行匹配然后,您可以在其他地方访问它们:
function helloworld( $args = \'\' ) {
$defaults = array(
\'link\' => \'www.google.com\',
\'alt\' = \'picture\'
);
wp_parse_args( $args, $defaults );
extract( $args, EXTR_SKIP );
echo \'<img src="\' . $link . \'" alt="\' . $alt . \'" />\';
}
设置
$args = \'\'
在函数中,表示参数是可选的。如果没有传入任何内容,则函数将使用您定义的默认值。
所以如果你打电话helloworld(\'link=www.facebook.com\')
你会看到<img src="www.facebook.com" alt="picture" />
. 如果你打电话helloworld(\'alt=link\')
你会看到<img src="www.google.com" alt="link" />
. 记住,该函数将使用$defaults
数组,如果不使用其他内容覆盖它。
这个extract()
函数将提取数组的每个元素并将其放入自己的变量中。不过,您不需要这样做。如果你把它删掉,你只会引用$args[\'link\']
而不是$link
. 这真的取决于你。