Как динамически обнаружить активную страницу -строитель, используемый на странице WordPressPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как динамически обнаружить активную страницу -строитель, используемый на странице WordPress

Сообщение Anonymous »

Я разрабатываю плагин WordPress, чтобы проанализировать, какой строитель страниц (например, Elementor, WPBakery, Divi) активно используется для визуализации текущей страницы , а не только какие плагины строительства установлены и активны на сайте, что похоже на Wappalyzer и встроен. Предварительный список плагинов против списка активных плагинов. Это говорит мне о том, установлен ли строитель , но не в том случае, если он фактически использовался для создания этой конкретной страницы.

Код: Выделить всё

private function analyze_builders()
{
$all_plugins = get_plugins();
$builders = [];

$builder_list = [
'elementor/elementor.php' => 'Elementor',
'wpbakery-visual-composer/wpbakery.php' => 'WPBakery',
'divi-builder/divi-builder.php' => 'Divi Builder',
// ... other builders
];

foreach ($builder_list as $slug => $label) {
if (isset($all_plugins[$slug])) {
$builders[] = [
'name' => __($label, 'pluginbuilder'),
'status' => is_plugin_active($slug) ? __('Active', 'pluginbuilder') : __('Inactive', 'pluginbuilder')
];
}
}

if (empty($builders)) {
return [
[
'name' => __('No builder used', 'pluginbuilder'),
'status' => ''
]
];
}

return $builders;
}
< /code>
 Проблема: < /strong>

Этот метод не удается в двух ключевых сценариях: < /p>

[*]  Если сайт обладает много страниц, активных (например, как элементар, и WPBakery, он возвращает оба, но не говорит мне, какая кто -то построил . /> < /li>
  Если используется строитель страниц, который не находится в моем предварительно определенном списке, он возвращает «без застройщика», что неверно. < /p>
< /li>
< /ol>
 Что мне нужно: < /strong>

imefore some dynamical sometrese stentrese. Я ищу надежный метод для проверки метаданных текущего поста или контента для консультативных признаков конкретного строителя страниц. < /P>
 Мои исследования и идеи: < /strong>
Я исследовал и верил, что решение может включать в себя четку для специфических для строительства, таких как: < /p>


Проверка клавиш _WP_PAGE_TEMPLATE 
Мета-ключ или специфичные для строительства, такие как _Elementor_edit_mode или _wpb_shortcodes_custom_css .


шорткоды (

Код: Выделить всё

[vc_row]
) или HTML Комментарии () и класса CSS, специфичные для строителя. />
Какой наиболее надежный и исполнительный метод для обнаружения того, какой строитель страницы использовался для текущей страницы WordPress? Я особенно заинтересован в крючках, фильтрах или запросах базы данных, которые являются уникальными для основных строителей страниц, таких как Elementor, WPBakery и Divi. false или 'none' .

Подробнее здесь: https://stackoverflow.com/questions/797 ... press-page
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»