警告:strpos(): XXXX行/XXX/post.php中的空指针



我有这样一个问题,因为我不得不改变服务器提供程序。我使用Duplicator插件移植了一些基于wordpress的网站。现在,无论在页面内容的何处使用标签,它都会返回一个错误

警告:strpos():/XXX/post.php中的空指针

它是关于代码:

function is_local_attachment($url) {
if (strpos($url, home_url()) === false) {
return false;
}
if (strpos($url, home_url('/? attachment_id =')) ! == false) {
return true;
}
$id = url_to_postid($url);
if ($id) {
$post = get_post($id);
if ('attachment' == $post-> post_type) {
return true;
}
}
return false;
}

,更具体地说:

if (strpos($url, home_url()) === false) {

有谁遇到过这样的情况并知道如何解决吗?

在服务器切换之前一切都很好。我希望这种情况能继续下去。我宁愿不去修复这个bug,而是找到并消除导致它的原因。

唯一想到的是我是否在以前的服务器上没有站点地址URL,我不需要在新的服务器上有它-字段是空的。

解决这个问题最简单的方法是添加一个"保护子句";在。像这样:

function is_local_attachment($url) {
$homeUrl = home_url();
if (empty($home_url)) {
return;
}
. . .

我不知道home_url()返回什么,但显然它可以返回一个空字符串,这会给你带来问题。

如果你使用的是PHP 7.1或更高版本,你可以这样写:

if (strpos($url, home_url()??' ') === false)

就我个人而言,我不会,因为它更难以阅读,但它会解决你的问题。

干杯!:)

= C =

相关内容

  • 没有找到相关文章

最新更新