Отдельные функции.php для части сайта

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

Эти страницы не нуждаются в каких-либо css или js от остальной части сайта – на самом деле это мешает мне. Мне нужно переоценить все, и я беспокоюсь о том, что переполнение будет нарушать основной сайт.

У них есть свои собственные header-books.php и footer-books.php

Как я могу заставить их иметь свои собственные функции.php, чтобы я мог потянуть css и js, которые полностью отделены от основного сайта?

(ps – слишком поздно для мультисайта или любых больших идей)

Спасибо.

  • DW

Solutions Collecting From Web of "Отдельные функции.php для части сайта"

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

Даже если это не так – шаблоны дают вам полный контроль над выходом страницы. Вы можете полностью отказаться от wp_head() / wp_footer() и обрабатывать активы (полу) вручную, если это самый короткий способ удовлетворения требований.

Это легко сделать с помощью классов тела и условных утверждений . Рассматривая свой вопрос, вы будете иметь пользовательские «page.php» и «single.php» за то, что вы делаете. Для этого я назову их «page-custom.php» и «single-custom.php»,

Теперь мы можем назначить класс тела этим страницам со следующей функцией

 function mytheme_body_classes( $classes ) { if ( is_page_template( 'page-pop.php' ) || is_page_template( 'single-custom.php' ) ) { $classes[] = 'special'; } return $classes; } add_filter( 'body_class', 'mytheme_body_classes' ); 

Это присвоит класс special для этих страниц.

Теперь вы можете создать таблицу стилей внутри папки css и называть ее «custom.css». Также создайте файл js в папке js и назовите его 'custom.js'

Вы можете загружать файлы стилей и js условно, чтобы они загружали только эти две указанные страницы с помощью special класса тела

 function myscripts_enqueue() { $classes = get_body_class(); if (in_array('special',$classes)){ wp_enqueue_style( 'custom-css', get_template_directory_uri() . '/css/custom.css', array() ); wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), '' , true ); } } add_action( 'wp_enqueue_scripts', 'myscripts_enqueue' );