如何理解ACTIVE_PLUGINS OPTION_VALUE从数据库中启用和禁用某些插件?

时间:2012-03-10 作者:jnthnclrk

谁能解释一下如何解释和理解WordPress中的active\\u plugins option\\u value字符串吗。然后使用此字符串/数组禁用和激活特定插件?

以下是一个示例:

a:8:{i:0;s:21:"adrotate/adrotate.php";i:1;s:19:"akismet/akismet.php";i:2;s:33:"better-related/better-related.php";i:3;s:17:"clicky/clicky.php";i:4;s:49:"custom-post-permalinks/custom-post-permalinks.php";i:5;s:32:"disqus-comment-system/disqus.php";i:6;s:33:"export-to-text/export-to-text.php";i:7;s:36:"google-sitemap-generator/sitemap.php";}

3 个回复
最合适的回答,由SO网友:kaiser 整理而成

这是一个序列化数组。

// Serialized:
a:8:{i:0;s:21:"adrotate/adrotate.php";i:1;s:19:"akismet/akismet.php";i:2;s:33:"better-related/better-related.php";i:3;s:17:"clicky/clicky.php";i:4;s:49:"custom-post-permalinks/custom-post-permalinks.php";i:5;s:32:"disqus-comment-system/disqus.php";i:6;s:33:"export-to-text/export-to-text.php";i:7;s:36:"google-sitemap-generator/sitemap.php";}

// dump:
var_dump( maybe_unserialize(\'a:8:{i:0;s:21:"adrotate/adrotate.php";i:1;s:19:"akismet/akismet.php";i:2;s:33:"better-related/better-related.php";i:3;s:17:"clicky/clicky.php";i:4;s:49:"custom-post-permalinks/custom-post-permalinks.php";i:5;s:32:"disqus-comment-system/disqus.php";i:6;s:33:"export-to-text/export-to-text.php";i:7;s:36:"google-sitemap-generator/sitemap.php";}\') );

// Result
array(8) {
  [0]=>
  string(21) "adrotate/adrotate.php"
  [1]=>
  string(19) "akismet/akismet.php"
  [2]=>
  string(33) "better-related/better-related.php"
  [3]=>
  string(17) "clicky/clicky.php"
  [4]=>
  string(49) "custom-post-permalinks/custom-post-permalinks.php"
  [5]=>
  string(32) "disqus-comment-system/disqus.php"
  [6]=>
  string(33) "export-to-text/export-to-text.php"
  [7]=>
  string(36) "google-sitemap-generator/sitemap.php"
}
使用maybe_unserialize()unserialize() 将其转换回数组。

SO网友:Richard Corfield

与JSON相比,它看起来非常重!虽然也不太难。

这是我修改前的。我想禁用Google Authenticator以允许自己再次登录。谢天谢地,我的提供商现在免费提供HTTPS,但在此之前,我依靠验证器来防止密码嗅探。无论是否使用HTTPS,它仍然是一个非常有用的功能。因此,一旦我的手机有了新的代币,我打算重置并重新启用它。

active_plugins value before edit

它看起来像“Array,length 5”,对于每个项目,它都是“Index,length,Value”。我突出显示了验证器的条目。我的修改是删除这个条目,将数组长度修改为4,并减少所有后续条目的索引值。

这是显示变化的差异。为了便于阅读,我在这里对其进行了格式化。如果格式是这样的,我不希望它能工作!

diff showing change made

SO网友:user10731127

我有好几次无法禁用Wordpress网站上的插件,唯一的途径就是访问数据库。我可以读/写DB,所以我制作了这个python工具,以人类可读的形式列出插件;按行号从列表中删除;将删除插件条目保存到备份文件中;并创建一个新的PHP字符串以插入回数据库。

由于我的灵感部分来自这条线索,我想在这里添加一个链接:https://github.com/Solarbotics/Wordpress_plugin_managment_by_db

结束

相关推荐

Custom routing for plugins

我正在制作一个插件,它需要一个可以从外部访问的页面,非常像一个API,并且有这样的url,http://xxxxx/custom_method?parameter=xxxxx&something=xxxx有没有干净的方法可以做到这一点?提前谢谢。