Я разработчик темы для новичков (3 месяца), и я пытаюсь понять, как реализовать следующие функции:
Вот скриншот, чтобы вы могли более четко видеть, что я пытаюсь сделать.
Я использую Theme-Check, который в настоящее время говорит мне:
РЕКОМЕНДУЕТСЯ: Ссылка на add_custom_image_header не найдена в теме. Рекомендуется использовать эту функцию при использовании изображения для заголовка.
Но я не думаю, что это относится к моей теме, поскольку я НЕ использую заголовок ENTIRE для изображения. Скорее всего, для логотипа используется только часть (плюс она абсолютно позиционируется).
Итак, есть ли какой-нибудь шаблонный тег, который может это сделать? Потому что я, конечно, не могу найти его в Кодексе.
Спасибо, заранее, спящий
Вы можете создать базовую страницу параметров темы, используя настройки WordPress api
Вот простой пример, который создаст поле ввода для ввода пользователем пути к пользовательскому логотипу.
// Add a menu for our option page add_action('admin_menu', 'prefix_myplugin_add_page'); function prefix_myplugin_add_page() { add_options_page( 'My Theme Options', 'Theme Name Options', 'manage_options', 'prefix_mytheme', 'prefix_myplugin_option_page' ); } // Draw the option page function prefix_mytheme_option_page() { ?> <div class="wrap"> <h2>Really Simple Google Analytics</h2> <form action="options.php" method="post"> <?php settings_fields( 'prefix_mytheme_options' ); ?> <?php do_settings_sections( 'prefix_mytheme' ); ?> <input name="Submit" type="submit" value="Save Changes" /> </form> </div> <?php } // Register and define the settings add_action( 'admin_init', 'prefix_mytheme_admin_init' ); function prefix_mytheme_admin_init(){ register_setting( 'prefix_mytheme_options', 'prefix_mytheme_options' ); add_settings_section( 'prefix_mytheme_main', 'prefix_mytheme_options', 'prefix_mytheme_section_text', 'prefix_mytheme' ); add_settings_field( 'prefix_mytheme_text_string', 'Enter text here', 'prefix_mytheme_setting_input', 'prefix_mytheme', 'prefix_mytheme_main' ); } // Draw the section header function prefix_mytheme_section_text() { echo '<p>Enter path to custom logo.</p>'; } // Display and fill the form field function prefix_mytheme_setting_input() { // get option 'text_string' value from the database $options = get_option( 'prefix_mytheme_options' ); $text_string = $options['text_string']; // echo the field echo "<input id='text_string' name='prefix_mytheme_options[text_string]' type='text' value='$text_string' />"; }
Вызов опции пользовательского логотипа в файле header.php:
$options = get_option( 'prefix_mytheme_options' ); if ( ! empty( $options['text_string'] ) ) { $logo = $options['text_string']; } else { $logo = 'http://path_to_default_logo'; }
Я только что закончил публикацию этой My Options Panel
пару часов назад, которая ответит на ваш вопрос.
Даже если ваше изображение не покрывает типичную область полной ширины, которую вы использовали для просмотра в 20 и 20, add_custom_image_header – это подходящий способ сделать это, и гораздо проще использовать встроенные функции, чем создавать новые параметры панель для ее обработки.
В процессе объявления поддержки пользовательских заголовков вы определяете высоту и ширину вашего изображения; вы также управляете кодом, в котором вы его выводите, включая любое положение, которое вы хотите применить к нему. Поэтому нет причин ограничивать ваше мышление дизайном только заголовком полной ширины.