Intereting Posts
Как добавить базовый / передний пул / URL-адрес для конкретных типов сообщений? Почему я не могу использовать константу класса как текстовый домен? Хотите использовать wp_get_current_user () в фильтрах запросов Показать изображение EXIF ​​info Немедленно опубликованные сообщения планируются и публикуются через 2 часа Загрузите хранимые файлы WordPress для пользовательского входа Страница настройки плагина wordpress, не зависящая от jquery? Пользовательская ссылка в WordPress Media Как я могу переместить данные из формы 1 в форму 2 Создание сети субдоменов в субдомене Как удалить вкладку на странице «Загрузка мультимедиа» в WordPress Получить последнее сообщение в блоге из другого многосайтового блога Как сделать многоколоночную интересную домашнюю страницу в Weaver 2010? wp_insert_post автоматически изменяет мое сообщение Аргумент смещения не работает корректно в запросе с пользовательским термином таксономии

Как обращаться с отсутствующим page.php?

Я использую бесплатную тему WordPress Stargazer от Justin Tadlock.

Я пытаюсь интегрировать с ним плагин (WooCommerce), и после прочтения документации мне нужно найти файл page.php , скопировать содержимое в новый файл woocommerce.php и заменить цикл woocommerce_content() .

Кажется, я не могу найти файл page.php . Что теперь?

Solutions Collecting From Web of "Как обращаться с отсутствующим page.php?"

Единственный требуемый шаблон в теме WordPress – index.php . И comments.php если комментарии поддерживаются. Следуя иерархии шаблонов , все остальные файлы, включая page.php , вернутся к index.php .

Когда тема не имеет page.php , посмотрите на index.php . Там вы найдете основную структуру для своего контента. В вашем примере index.php выглядит так:

 <?php get_header(); // Loads the header.php template. ?> <main <?php hybrid_attr( 'content' ); ?>> <?php if ( !is_front_page() && !is_singular() && !is_404() ) : // If viewing a multi-post page ?> <?php locate_template( array( 'misc/loop-meta.php' ), true ); // Loads the misc/loop-meta.php template. ?> <?php endif; // End check for multi-post page. ?> <?php if ( have_posts() ) : // Checks if any posts were found. ?> <?php while ( have_posts() ) : // Begins the loop through found posts. ?> <?php the_post(); // Loads the post data. ?> <?php hybrid_get_content_template(); // Loads the content/*.php template. ?> <?php if ( is_singular() ) : // If viewing a single post/page/CPT. ?> <?php comments_template( '', true ); // Loads the comments.php template. ?> <?php endif; // End check for single post. ?> <?php endwhile; // End found posts loop. ?> <?php locate_template( array( 'misc/loop-nav.php' ), true ); // Loads the misc/loop-nav.php template. ?> <?php else : // If no posts were found. ?> <?php locate_template( array( 'content/error.php' ), true ); // Loads the content/error.php template. ?> <?php endif; // End check for posts. ?> </main><!-- #content --> <?php get_footer(); // Loads the footer.php template. ?> 

Вы можете удалить все связанные с несколькими сообщениями код и вызов шаблона комментариев. И ненужные теги PHP и комментарии ( вздох ). Это оставляет это:

 <?php get_header(); ?> <main <?php hybrid_attr( 'content' ); ?>> <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); hybrid_get_content_template(); } locate_template( array( 'misc/loop-nav.php' ), true ); } ?> </main> <?php get_footer(); 

Это делает приятным читаемым page.php . Теперь вы можете заменить hybrid_get_content_template(); с woocommerce_content(); или независимо от того, что требуется плагину.

Но ждать! Не изменяйте тему, не создавайте дочернюю тему и не вносите в нее свои изменения. Теперь вы можете обновлять родительскую тему без потери настроек.

Вы можете следовать этим шагам с каждой темой и каждым плагином. Если index.php работает, вы можете использовать его для создания новых шаблонов в дочерней теме.