我正在尝试限制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.我已经搜索过,但我真的不知道我要找的是什么!我不是开发人员,这是阻止我完成这个项目的最后一件事,所以任何人都可以提供的任何帮助都会很棒。提前谢谢。
答案 0 :(得分:0)
如果$temp_array
接受数组作为参数,则不需要内爆pmPro_hasMembershipLevel
。当你内爆一个数组时,你会得到一个字符串作为返回值 - 这不是你想要的。如果您认为问题可能与值的类型有关,那么您可以尝试将它们转换为整数,例如$temp_array[]= (int) $temp;