yarovikov, спасибо за совет, но этот код скорее касаеться только старниц. А если шорткод будет размещен в архивной странице или на сингл посте то уже вот это выражение работать не будет
так как это извлекает весь контент именно страницы и затем регуляркой ищем ID post
Кроме этого на странице может быть несколько шорткодов тогда теряеться смысл этого подхода.
Здесь возможно, нужно будет еще что то придумать)
Боюсь что решение наверное нет и мне прийдеться подключать все таки все стили и скрипты
здесь мы получаем page ID ( ID страницы) и это не решает данную задачу. У меня все настройки храниться в таблице wp_postmeta и мне нужен ID CPT (поста) а не страницы.
Плагин вставляет шорткод на страницу, н/р [grid_filter id='72'] так вот 72 и есть post ID
Затем зная этот ID я могу сделать запрос методом get_post_meta( post_id, 'cpt_value' , true) и получить нужную настройку. И уже после этого делать определенные условия проверки.
Именно в хуке wp_enqueue_script() получить post ID пока что не удвется...
Все настройки храниться в базе данных в табл. wp_postmeta. Данные настроек я получаю с помощью функции get_post_meta( post_id, 'cpt_value' , true).
Проблема в том, что внутри хука wp_enqueue_script() я не могу получить post ID поста. Поскольку плагин использует свой custom CPT - это есть отдельный пост с множеством настроек и где затем с помощью шорткода выводиться на странице. И чтобы извлечь конкретную настройку с табл. wp_postmeta мне нужен post ID.
Но в этом хуке он недоступен так как этот хук вызывается, наверное, раньше чем глобальная переменная $post будет проинициализирована.
Хочу узнать есть ли какой то способ подключать скрипты в зависимости от настроек плагина. Например, пользователь активировал опцию Layout 3 и здесь нужно будет подключить некий скрипт. А если он подключил Layout 5 то будет уже подключен другой скрипт или стили. Здесь важно понять как внутри хука wp_enqueue_script() можно будет получить данные настроек плагина чтобы управлять подключением... не хочется загружать сразу все ресурсы если они не нужны в данный момент.
ksnk,
Сейчас твой код возвращает глобальный объект. Но мне нужно изначально передавать будет разные данные во внутрь функции, поэтому здесь скорее всего нужно будет создавать именно глобальную функцию а не объект.
Хотелось создать вот такую реализацию записи:
Таким образом, где то в стороннем коде записать такую нотацию и она бы работала.
Поэтому здесь походу нужна глобальная функция, чтобы была возможность передавать в нее некий объект ну а затем использовать разные методы...
Ясно. Спасибо тебе за рекомендации. А что ты имеешь ввиду когда говоришь "Возможен импорт/экспорт настроек фильтра гостем, потому что нет проверки доступа/привилегий. "?
Здесь также есть уязвимость? Объясни плиз.
то есть это как бы защита от дурака) чтобы не промазать сначала пишут значение переменной а уж затем сравнивают с переменной, это чтобы вместо сравнение не написать присваивание, верно) самопроверка)