Intereting Posts
dbDelta не создает таблицы Создать меню без панели администратора популярный пост еженедельно и ежемесячно Могу ли я организовывать собственные типы сообщений по страницам? Как прослушивать изменения цвета на панели выбора цветов? Загрузите профильную картинку каждому члену Создать параметры страницы для темы? Создать алфавитную разбивку на страницы для пользовательской таксономии? Как показать различные виджеты на разных страницах удобным для пользователя способом Как настроить автоматические обновления в WordPress 3.7? WP Admin Bar не отображается с пользовательской структурой постоянной ссылки для страниц Как фильтровать в «Добавить всплывающее окно», чтобы показывать только «непривязанные» носители Есть ли способ скрыть элемент на основе типа продукта woocommerce? Моя установка WordPress не обновляет фид при публикации новой публикации Невозможно включить / отключить плагины в режиме невалютной

Что мне нужно будет записать в пользовательский плагин, чтобы добавить переключатель для пользовательской строки CSS на страницу редактирования?

Я создал страницу на одном из наших сайтов, у которого есть несколько фрагментов пользовательского CSS, чтобы он отображался в очень современном стиле 100% ширины, подобном этому , в отличие от стандартного, более ограниченного стиля страниц, который разрешает тема сайта.

Однако этот стиль страницы не будет использоваться на всех сайтах, поэтому получение новой темы или редактирование ребенка существующей темы на самом деле не является вариантом.

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

  • Добавить флажок на страницу редактирования?
  • Если флажок установлен, загрузите пользовательский CSS?

Хотя я мог бы просто добавить этот пользовательский CSS на каждую страницу вручную, создание плагина означало бы, что перенос кода с сайта на сайт будет намного проще, а также означает, что риск перезаписи и потери будет сведен к минимуму.

Этот код должен делать трюк. Поместите это в свой файл functions.php .

 function add_custom_css_meta_box() { add_meta_box( 'custom-css', 'Custom CSS', 'post_meta_checkbox', 'page', 'side' ); } add_action('add_meta_boxes', 'add_custom_css_meta_box'); function post_meta_checkbox($post) { $checkbox = get_post_meta($post->ID, 'custom-css', true); $checked = false; if($checkbox == 'true') { $checked = true; } ?> <p> <label>Tick this for custom CSS</label><br /> <input type="checkbox" name="custom-css" id="custom-css" value="true" <?php if($checked == true) { echo 'checked'; } ?>/> </p> <?php } function save_post_meta() { update_post_meta(get_the_ID(), 'custom-css', $_POST['custom-css']); } add_action('save_post', 'save_post_meta'); 

Если вы хотите проверить, нужно ли загружать CSS, выполните оператор if и используйте get_post_meta($post->ID, 'custom-css', true) и проверьте, истинно это или false. Замените $ post-> ID тем, как вы получаете идентификатор страницы. Вы можете сделать это в файле page.php .

Чтобы создать плагин, который добавит страницу параметров в вашу панель, следуйте моему ответу. В предоставленном ответе я подробно объяснил, как это сделать.

Теперь часть CSS. Если вы создадите свой плагин так, как я уже упоминал, вы сможете получить значение своего флажка, используя следующее:

 get_my_custom_plugin_value('checkbox'); 

Вы можете использовать это в сочетании с условным выражением для вывода некоторого CSS, когда флажок установлен. Это можно добавить в ваш плагин, чтобы сделать это:

 if (get_my_custom_plugin_value('checkbox')==='on'){ add_action('wp_enqueue_scripts','my_styles'); function my_styles(){ wp_enqueue_style('style-name','URL TO YOUR CSS FILE'); } } 

Это то, что вы ищете.