gpt4 book ai didi

php - WordPress 侧边栏小部件在更新 MySQL 数据库中的链接时被禁用

转载 作者:行者123 更新时间:2023-11-29 14:32:11 25 4
gpt4 key购买 nike

当我更改数据库中的 Twitter 链接并将所有以前的链接替换为 wp_options 表下的新链接时,我的 WordPress 侧边栏小部件消失了。除了链接之外,我没有更改任何内容,但小部件仍然从正面消失,我做错了什么以及如何从数据库中删除它。

最佳答案

我不确定,但我怀疑您的更新导致数据库中出现一些无效的 PHP。为了将复杂的结构作为字符串存储在数据库中,在存储之前对值进行序列化。

例如下面的

<?php
$example = array("a string", "another string");
echo serialize($example);
?>

输出

a:2:{i:0;s:8:"a string";i:1;s:14:"another string";}

这看起来与许多 wp_options 值相似。相关部分是“a string”之前的8。这就是字符串的长度。如果您将字符串更改为不同长度的字符串而不更改该值,PHP(和 WordPress)将无法反序列化该值。

例如,

<?php
print_r( unserialize('a:2:{i:0;s:8:"a different string";i:1;s:14:"another string";}') );
?>

结果

Notice: unserialize(): Error at offset 22 of 61 bytes in D:\tmp\so.php on line 11

我怀疑 WordPress 在您更新后遇到了该错误。

为了解决您的问题,我首先要反转您运行的更新,以便序列化的 PHP 有效。然后更新管理屏幕中的值。

如果无法通过管理屏幕进行更新,请编写一个小型 PHP 程序来获取(现在正确的)序列化值,对其进行反序列化,更改适当的值,然后再次对其进行序列化。使用序列化的结果作为 wp_options 表中的新值。

关于php - WordPress 侧边栏小部件在更新 MySQL 数据库中的链接时被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com