警告:ARRAY_POP()要求参数1为数组,给出布尔值

时间:2015-03-31 作者:frshjb373

尝试添加新帖子时出现以下php错误:

警告:array\\u pop()要求参数1为数组,布尔值在/home/mysite/public\\u html/blog/wp content/themes/mytheme/functions中给出。php在线675

功能如下:

function glossary_term_permalink($post_link, $post, $leavename, $sample) {
    if (false !== strpos($post_link, \'%recipe_cat%\')) {
        $glossary_letter = get_the_terms($post->ID, \'recipe_cat\');
        $post_link = str_replace(\'%recipe_cat%\', array_pop($glossary_letter)->slug, $post_link);
    }
    return $post_link;
}
知道问题是什么以及如何解决吗?

1 个回复
SO网友:s_ha_dum

get_the_terms() 将返回boolean false 在某些情况下:

没有指定术语的帖子会给出错误的结果,而不是空数组。

https://codex.wordpress.org/Function_Reference/get_the_terms#Returns

听起来这就是正在发生的事情。你需要检查一下$post_link = 确保type 在尝试使用它之前,请先进行预期。

结束

相关推荐

WordPress vs. Custom PHP

我的客户在定制PHP中建立了NGO网站,他找我对其进行了改造。我告诉他在WordPress中构建它。但他有以下担忧:;并问我WordPress与定制PHP的比较。哪个更安全,WordPress网站更容易被黑客入侵等。哪个更易于SEO?WordPress相对于自定义PHP的其他优势