- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сделал себе плагин, для его работоспособности нужна пара дополнительных полей. Хотелось бы, чтобы они показывались только на тех страницах, какие указаны в настройках. Плагин инициализируется так-
Вариант работает с ограничением - само меню "Дополнительные поля Яндекс-карта" показывается всегда, а форма - только на нужных страницах.
Пытался инициализировать так -
Дает ошибку - не видит $post! соответсвенно не может определить id страницы Почему, не понимаю, вроде вызов идет практически так же.
Подскажите, что не так?
Да, ACF не предлагать!!!
Дает ошибку - не видит $post! соответсвенно не может определить id страницы Почему, не понимаю, вроде вызов идет практически так же.
Подскажите, что не так?
Да, ACF не предлагать!!!
global $post ?
global $post ?
Вот счас абидэл, слюшай)))
Конечно же я пробовал этот вариант - не помогает. Вообще пока не понимаю откуда ноги растут. Есть подозрения, что виноваты права пользователей
А не так разве?
add_action('admin_init', 'ym_page_fields', 10, 1);А не так разве?
Последний параметр по умолчанию равен 1 и необязателен. Приоритет 1 ставлю специально чтоб блок шел сразу за полем контента.
Читайте кодекс
Ну дык... Когда что-то не получается, всё надо перепробовать, и с умолчанием и без...:) А ещё тупой вопрос: не пробовали global $post, но function ym_page_fields() (без аргумента)?
не пробовали global $post, но function ym_page_fields() (без аргумента)?
Читайте 2-й ответ))) Пробовал.
Я вообще пока не понимаю, почему не работает. Получается что $post оюьявляется только ПОСЛЕ вызова add_meta_box, потому что как видно в примере, после обьявления add_meta... все прекрасно работает. Непонятно.
Читайте 2-й ответ
Я читал. Там не написано, что без аргумента. Дело в том, что непонятно - как аргумент передаётся в функцию, поэтому я и предложил этот вариант. А ещё можно поэкспериментировать с приоритетом, если грешите на то, что $post объявляется после.
---------- Добавлено 10.11.2016 в 15:59 ----------
И не проще ли сделать отдельный хук и в нужный момент - do_action()? Как говорится, "хук правой - и нокаут"😂
И не проще ли сделать отдельный хук и в нужный момент - do_action()?
Как это можно реализовать в админке? Не очень понял вашу идею. с приоритетами пробовал - они влияют на место, где в админке будет доп поле, но не на вызов функции
Ну не знаю. Вот я тупо вставил в файле admin.php перед строкой do_action('admin_init');
На странице отчётливо вижу: Так что, всё оно отрабатывает. Просто переменная $post не определена перед вызовом функции.Sitealert, Ваш вариант ничего не показывает, к сожалению. Естественно, что массив, обьявленный чуть выше, будет виден, мне же нужен стандартный $post, он же $GLOBALS['wp'], в котором обьект...
При этом, если вы увидите мой код, то чуть ниже, после этого хука, $post уже виден без лишних телодвижений и дальше я с ним спокойно работаю... Почему так- не понимаю.