В новом вордпрессе при нажатии на картинку не активной темы или на кнопку customize активной темы (appearance -> themes) для twenty eleven появляется страница, на которой: справа отображается собственно сама тема, а слева есть меню настроек этой темы. Попробовал как это выглядит для моей темы, но в меню отображается только возможность изменения имени сайта и того, что будет на главной странице (статическая страница или посты).
Теперь собственно вопрос: как добавить в свою тему возможность изменения параметров типа цвета ссылок, фоновой картинки и т.п. как это реализовано в теме twenty eleven? Есть подозрения, что я таки забанен в гугле, потому что на мои запросы в выдаче присутствуют только инструкции к custom fields, а это совсем не то что мне нужно. Ткните носом куда копать, а то в исходниках темы ничерта не понятно ((
Рекомендую к покупке и чтению. Доступная цена, доступный язык и хорошие инструкции.
http://rockablepress.com/launch/building-wordpress-themes-from-scratch/
анонс wordpress 3.4 в котором впервые появилась данная опция датирован 3 мая 2012. Официальный релиз версии грин – 27 июня. Первый комментарий к книге по Вашей ссылке – 5 июня. Делаю вывод что книга и wordpress вышли примерно одновременно. Какая вероятность того, что в книге описана новая опция? Т.о. есть ли смысл брать кота в мешке?
Вот нашел неплохую ссылку, правда на английском: http://ottopress.com/2012/how-to-leverage-the-theme-customizer-in-your-own-themes/ Чуть позже,когда разберусь и если не забуду, напишу здесь инструкции по-русски.
Для кастомизации темы Вам потребуется сделать несколько предварительных действий. Весь код нужно добавлять в файл functions.php. Итак начнем:
Для настройки фоновой картинки:
После этого в админке появится пункт Appearance -> Background и автоматически добавится секция настроки на странице кастомизации.
Для настройки логотипа, нужно создать настраиваемую шапку сайта:
Теперь есть еще одна страница Appearance -> Header , которая так же автоматически добавляется на страницу кастомизации.
Это были предустановленные настройки, поэтому почти все делалось на автомате. Дальше чуть сложнее.
Во-первых добавляем нашей теме theme_options. Как это делается спросите у гугла, я о другом.
Предположим, что у Вас уже есть theme_options в теме и вы можете работать с полями базы wp, отвечающим за эти опции.
Во-вторых создаем функцию которая будет отвечать за нашу страницу кастомизации:
Добавляем новую секцию настроек. Фрагмент файла wp-includes/class-wp-customize-manager.php :
Сразу после добавления новой секции ничего не произойдет, поскольку она пустая. Заполним ее:
Немного потестив, обнаружил, что цвета, текст, радиобаттоны и чекбоксы работают нормально, а вот с картинками – печаль. Просто так wp не хочет сохранять загруженные картинки во вкладке Uploaded. Ну т.е. он сохраняет, но до первой перезагрузки страницы, а после оставляет только одну сохраненную картинку. Так что быстро переключаться между разными фонами для меню не получится без дополнительных ухищрений, но сейчас не об этом.
Теперь можно немного ускорить применение новых настроек средствами jquery. Переопределяем метод применения:
подключаем скрипт обработчик (за пределами функции my_customize_register):
И собственно содержимое js файла:
Ну теперь вроде все. Прям статья получилась. Не форумный формат конечно, но завести блог все никак руки не доходят. Спасибо за внимание. Успехов в освоении. Исправление ошибок, если таковые имеются – приветствуется.