Intereting Posts
Как архивировать собственные мета значения из всех сообщений на одной странице remove_menu_page не работает в пользовательских плагиатных меню Как создать пользовательскую домашнюю страницу через плагин? Установка WordPress в каталог пользователя без каких-либо прав администратора Как показать общую сумму в woocommerce? php возвращает имя пользователя просматриваемого профиля автора Пользовательский тип сообщения: Добавить «Изменить | Быстрое редактирование | Корзина | Просмотреть "ссылки на дату (если заголовок не отображается в столбце)? Вернуть все пользовательские термины таксономии для публикации в REST API v2? В настоящее время ограничено 10 сроками Изменение страницы профиля пользователя admin Почему все мои сайты в WordPress говорят мне, что все в курсе /wp-admin/update-core.php? Пользовательская тема: добавление нежелательных тегов <p> в контент Нужна помощь в добавлении настраиваемого поля в категорию Удалить гиперссылку для редактирования сообщения в edit.php Создание прозрачной панели администратора или синего цвета wp_mail работает с add_action ('save_post', …), но не является ajax-действием

Отображать цвет фона или изображение с помощью настраиваемого мета-окна?

С обычными мета-ящиками, как бы я мог отображать фоновое изображение (или цвет, если изображение не связано) на странице.

Код для страницы, на которой я хочу, чтобы данные отображались. Я хочу применить цвет фона / изображение к разделу id = "masthead".

<?php if (get_post_meta($post->ID, '_sqcmb_masthead_select', true)) { ?> </div><!--end #container .row (from header)--> <section id="masthead"> <div class="row"> <div class="large-9 large-centered columns"> <?php $content = get_post_meta( $post->ID, '_sqcmb_masthead_content', true ); echo do_shortcode( $content ); ?> </div><!-- .large- centered columns --> </div><!-- .row --> </section><!-- #masthead --> <!--restart #container .row (from header)--><div id="content" class="row"> <? } else { ?> <?php } ?> 

Код для пользовательских мета-полей.

 /*Metaboxes for masthead section */ $meta_boxes[] = array( 'id' => 'masthead-options', 'title' => 'Masthead Options', 'pages' => array( 'page' ), // Show on Pages 'context' => 'normal', 'priority' => 'high', 'show_names' => true, // Show field names on the left 'fields' => array( array( 'name' => 'Display Masthead', 'desc' => 'Check this box id you want to display the Masthead Section.', 'id' => $prefix . 'masthead_select', 'type' => 'checkbox', ), array( 'name' => 'Masthead Content', 'desc' => 'Enter the content of the masthead section here. You can insert media, shortcodes, etc.', 'id' => $prefix . 'masthead_content', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 5, ), ), array( 'name' => 'Background Color', 'desc' => 'Choose a background color.', 'id' => $prefix . 'masthead_bg_color', 'type' => 'colorpicker', 'std' => '#ffffff' ), array( 'name' => 'Background Image', 'desc' => 'Upload an image as the background. This will override the Background Color. (optional)', 'id' => $prefix . 'masthead_bg_image', 'type' => 'file', ), ), ); 

Вам нужно извлечь значение настраиваемого метабокса (будь то этот фоновый цвет или фоновое изображение), а затем, как только вы подтвердите его, чтобы убедиться, что оно имеет значение, которое пустое или что происходит, если оба имеют значения, чтобы определить INLINE- STYLING на следующем фрагменте кода:

  <section id="masthead" style="background-image:<your dynamic value here>"> 

Просто убедитесь, что вы проверяете сценарии того, что, если они заполняют цвет, но без изображения, что, если они заполняют изображение, но не имеют цвета, что, если они заполняют оба (на метабокс), что, если они не помещают их и т. Д.

Вот последний код, который у меня есть. Я действительно новичок в php, поэтому он может быть полностью взломан, но он работает.

 <?php if (get_post_meta($post->ID, '_sqcmb_masthead_select', true)) { ?> <section id="masthead" style="background: <?php if (get_post_meta($post->ID, '_sqcmb_masthead_bg_image', true )) { echo "url('"; echo $content = get_post_meta( $post->ID, '_sqcmb_masthead_bg_image', true ); echo "')no-repeat center; background-size:cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover;"; } else { echo $content = get_post_meta( $post->ID, '_sqcmb_masthead_bg_color', true ); echo ";"; } ?>" > <div class="row"> <div class="large-12 columns"> <?php // Get the field $content = get_post_meta( $post->ID, '_sqcmb_masthead_content', true ); // Filter it for shortcodes echo do_shortcode( $content ); ?> </div><!-- .large-12 columns --> </div><!-- .row --> </section><!-- #masthead --> <? } else { ?> <!-- Do Nothing. --> <?php }?>