我有这样一个问题,因为我不得不改变服务器提供程序。我使用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 =