Intereting Posts
Как проверить почту через jquery keyup ()? Перенос нескольких WP-уставок в одном домене в WP Multisite Последние сообщения и последние сообщения отображаются по-разному Параметры строки запроса из настраиваемых полей, несогласованные результаты Как вам потребуется и автоматически загружать зависимые плагины? Обновление темы также обновляет тему темы zip Добавить страницы wp-link для публикации Использовать wp_enqueue_scripts, а не wp_print_styles? Перенаправить общедоступный сайт в другой, но разрешить администраторам доступ к старому сайту Застрял с WordPress Multisite Пользовательская страница регистрации без изменения .htaccess Как автоматически войти в систему пользователя после изменения user_login Оптимизировать WP_Query Индекс блога не будет в папке WordPress Пользовательские выдержки из отрывков на основе идентификатора страницы? Как получить массив виджетов?

Создание двух тем для создания полного сайта

Я знаю свой путь вокруг WP, вероятно, как промежуточный пользователь. В ближайшем будущем мне придется интегрировать дизайн шаблона из совершенно другой темы в тему, которую я сейчас использую. Идея состоит в том, чтобы сохранить внешний вид первой страницы одной темы одинаковой, и использовать дизайн регулярных страниц блога другой темы – и вроде как взломать их вместе.

Мой вопрос заключается в следующем: будет ли лучший курс действий следующим:

  1. Определите новую страницу шаблона в существующей теме и скопируйте код с страницы шаблона другой темы;

  2. Проверьте наличие связанных файлов (например, header.php / footer.php, переименуйте их, чтобы не мешать существующим файлам темы), скопируйте их и измените имена ссылок на странице шаблона соответственно;

  3. Очевидно, скопируйте таблицу стилей, JS и любые связанные изображения.

Или есть лучший способ сделать это?

Большое спасибо.

Подумай дважды

Я должен начать с того, что это кажется действительно странной идеей. Наличие первой страницы, которая полностью отличается от остальной части сайта, нарушит множество ожиданий пользователей и вызовет путаницу. Действительно ли это две совершенно разные темы или вам просто нужен пользовательский макет на первой странице? Если последнее, пользовательская реализация честно может быть проще. Это особенно актуально, если есть расширенные параметры темы или обмены, используемые для поддержки первой страницы. Я буду придерживаться только проблем с интерфейсом, так как это единственное, на что я могу смело делать предположения. Но давайте предположим, что это не так.

Скопируйте все необходимые шаблоны

Я бы использовал тему, не относящуюся к дому, в качестве основной темы и интегрировал в нее фронт. Таким образом, из «темы главной страницы» определите, какие файлы вам нужно включить. Если есть front-page.php (при условии, что вы используете статическую front-page.php страницу), вы скопируете это. (Сохраните старую переднюю страницу с новым именем, если она есть.) В новом файле front-page.php найдите все, что включено в include() , require() , get_template_part() , get_sidebar() , get_footer() и т. д. Из темы на главной странице скопируйте все эти файлы в новую тему. Для всех этих файлов sidebar-front.php суффикс (например, sidebar-front.php , header-front.php ). Наконец, в ваших скопированных front-page.php изменения front-page.php используется суффиксная версия (например, get_sidebar( 'front' ) )

Условно загружать скрипты и стили

Теперь в файле functions.php вашей основной темы вы загрузите скрипты и стили, которые вам понадобятся, на правильные страницы. Скопируйте любые скрипты и таблицы стилей, которые, как вы знаете, используются в теме главной страницы. Опять же, тему суффикса, чтобы убедиться, что нет перекрытия.

Теперь добавьте условные wp_enqueue_scripts() и wp_enqueue_styles() для загрузки таблиц стилей. Если header.php связывает таблицы стилей, удалите эти строки. Ваш код будет выглядеть примерно так:

 function wpse_58889() { if( is_front_page() ) { wp_enqueue_style( 'style_front', get_template_directory_uri() . 'style-front.css' ); } else { wp_enqueue_style( 'style_front', get_template_directory_uri() . 'style.css' ); wp_enqueue_script( ...... ); } } add_action( 'wp_enqueue_scripts', 'wpse_58889' ); 

Этот шаг будет включать в себя перемещение любых существующих стилей и скриптов, находящихся в главном файле functions.php темы, в эти условные выражения, чтобы они не конфликтуют с другими стилями на новой странице.

Тематическая функциональность

Как я уже сказал, я даже не собираюсь догадываться о том, что требуется для этого. Вам нужно будет много пихать и копировать любые вызовы register_sidebar() относящиеся к первой странице, а также параметры темы и материалы метабокса. На этом этапе процесса вы можете столкнуться с множеством зависимостей файлов, и вы можете завершить половину старой темы в новой. Все время вам придется продолжать следить за конфликтами имен в файлах, функциях и многом другом!

Вывод

В простейших случаях этот процесс будет не слишком сложным, но если вы новичок в PHP и WordPress Theming (более последний, чем первый, imho), это может стать действительно противным очень быстро. Несмотря на то, что многие из этих изменений прямолинейны в реферате, есть много мест, где небольшой надзор может действительно заставлять вещи сдерживать какое-то время.

Удачи.

Если вы хотите полностью скопировать проект, вы можете создавать собственные файлы верхнего и нижнего колонтитула, такие как header-custom.php и footer-custom.php . Эти пользовательские файлы заголовка и нижнего колонтитула можно использовать, передавая пул пользовательских файлов в качестве параметра для функций wordpress. например

 get_header('custom'); 

а также

 get_footer('custom'); 

Обратите внимание, что вам придется создавать отдельные шаблоны страниц, которые могут использоваться для разных стилей страниц. См. http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates для получения справки по созданию настраиваемых шаблонов страниц.