我编写了一个插件,它将在数据库上运行查询并显示使用的元素以及每个元素的使用次数。很简单,但我认为它可以完成工作。我很可能会遗漏一些关于信息存储方式的非常明显的东西。
这是在 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);