wordpress - 确定在 Wordpress 网站上使用了哪些 Avada Fusion Builder Elements
问题描述
有什么方法可以确定 WordPress 网站当前正在使用哪些 Fusion Builder Elements?
我为正在处理的网站启用了很多元素,我想禁用我不需要的元素。问题是,这是我从另一个开发人员那里获得的完整站点,我真的不希望每次禁用某些东西时都必须搜索整个站点并检查可能损坏的元素。
这是 Avada 中某处的功能,我完全丢失了,我在任何地方都找不到文档?
我正在考虑编写一个小插件来检查wp_posts
表格并搜索[fusion_xxxx]
元素并显示使用的构建器元素列表。然后我可以确定在整个站点中使用哪些。
出于某种原因,这是一个糟糕的时期吗?
解决方案
我编写了一个插件,它将在数据库上运行查询并显示使用的元素以及每个元素的使用次数。很简单,但我认为它可以完成工作。我很可能会遗漏一些关于信息存储方式的非常明显的东西。
这是在 ajax 调用中完成的,在浏览器中以格式化列表的形式显示,等等。
Anywho,这是插件中实际收集信息的部分:
protected function getElementsFromTable($table, $field, &$element_collection)
{
global $wpdb;
$sql = "SELECT * FROM " . $table . " WHERE `" . $field . "` LIKE '%[/fusion_%';";
$results = $wpdb->get_results($sql);
foreach ($results as $item) {
preg_match_all("/\[\/fusion_(.+?)\]/", $item->{$field}, $elements);
// No results found, bail!
if (!count($elements[1])) {
continue;
}
// Store the results
foreach ($elements[1] as $element) {
if (!array_key_exists('fusion_' . $element, $element_collection)) {
$element_collection["fusion_" . $element] = 1;
} else {
$element_collection["fusion_" . $element]++;
}
}
}
}
arsort($element_collection);
用法:
$this->getElementsFromTable("wp_posts", "post_conent", $element_collection);
推荐阅读
- apache - 从 www 重定向到 https
- angular - 如何在Angular中将子FormGroup与父FormGroup结合起来
- javascript - 单击一次后文本栏悬停不起作用
- ubuntu-18.04 - ppa 错误 add-apt-repository ppa:guacamole/stable
- python-3.x - 编写用户定义的函数来评估带有 for 循环的 Saha 方程以获得预期输出
- spring-boot - 在 Spring Boot Actuator 2.1.6 上强化动态代码评估不安全反序列化
- subset - 如何使用具有两个条件的否定标准来对 R 中的数据框进行子集化
- java - EdgeDriverManager MAC 无法通过 WebDriverManager 解析正确的版本
- javascript - 如何检查用户是否通过单击特定链接来访问站点?
- unix - 使用 awk 对数据进行分组