Wordpress - 将变量传递给函数 - 如何正确传递数字列表

时间:2014-01-11 12:31:14

标签: php wordpress variables wordpress-plugin

我正在尝试限制Wordpress模板文件中的内容,并使用名为Paid Memberships Pro的插件来执行此操作。

以下代码将内容限制为“级别”为1或2的成员。

if(pmPro_hasMembershipLevel(array(1,2))){
    restricted content goes here
}

当我尝试使用变量来提供级别时出现问题。这些级别保存在自定义字段组“限制”中,字段名称为“pmpro_id”。我使用...

访问模板中的这些级别
foreach($restrictions as $restriction){
    $temp=get_field('pmpro_id', $restriction->ID );
    $temp_array[]=$temp;
}

$levels=implode(',', $temp_array);

如果我然后将$ level传递给pmPro_hasMembershipLevel,如果只有一个级别则可以正常工作,但如果有2个或更多级别则会失败。我相信这是因为变量类型是一个字符串而不是整数?我曾经试过直接传递$ temp_array,虽然我觉得这样做不行并且是正确的。

我意识到这可能是PHP 101.我已经搜索过,但我真的不知道我要找的是什么!我不是开发人员,这是阻止我完成这个项目的最后一件事,所以任何人都可以提供的任何帮助都会很棒。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果$temp_array接受数组作为参数,则不需要内爆pmPro_hasMembershipLevel。当你内爆一个数组时,你会得到一个字符串作为返回值 - 这不是你想要的。如果您认为问题可能与值的类型有关,那么您可以尝试将它们转换为整数,例如$temp_array[]= (int) $temp;