Определите, какие элементы Avada Fusion Builder используются на сайте Wordpress - PullRequest
0 голосов
/ 12 марта 2020

Есть ли способ определить, какие элементы Fusion Builder используются в настоящее время на сайте WordPress?

У меня много элементов, включенных для сайта, над которым я работаю, и я хотел бы отключить те, которые мне не нужны. Проблема в том, что это полный сайт, который я взял у другого разработчика, и я НАСТОЯТЕЛЬНО не хочу проверять весь сайт и проверять наличие потенциально поврежденных элементов каждый раз, когда я что-то отключаю.

Является ли это где-то в Avada я полностью отсутствует, и я нигде не могу найти документацию?

Я думал о создании крошечного плагина, который проверяет таблицу wp_posts, ищет элементы [fusion_xxxx] и отображает список. использованных строительных элементов. Затем я могу определить, какие из них используются на сайте.
Это плохое время по какой-либо причине?

1 Ответ

0 голосов
/ 12 марта 2020

Я написал плагин, который будет выполнять запрос к БД и отображать использованные элементы и количество использований каждого из них. Просто, но я думаю , что работа сделана. Я вполне могу пропустить что-то очень очевидное в том, как хранится информация.

Это делается с помощью вызова ajax, отображаемого в браузере в отформатированном списке и т. Д. c.

В любом случае, вот часть плагина, которая фактически собирает информацию:

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);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...