Пользовательская тема WordPress собирается 404.php - PullRequest
0 голосов
/ 09 мая 2018

Я создал собственную тему, в которой пока нет ничего особенного. Мой functions.php содержит только ловушку действия для wp_enqueue_scripts, и у меня есть следующие файлы:

header.php

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>

index.php

<?php
get_header(); ?>
INDEX
<?php get_footer(); ?>

footer.php

<?php wp_footer(); ?>
</body>
</html>

archive.php

<?php get_header(); ?>
ARCHIVE
<?php get_footer(); ?>

404.php

<?php get_header(); ?>
404
<?php get_footer(); ?>

functions.php

<?php
# WP Basics
//include_once(get_stylesheet_directory() . "/functions/menus.php" );
include_once(get_stylesheet_directory() . "/functions/scripts.php" );

Теперь у меня возникает следующая проблема: когда я перехожу на первую страницу, она показывает правильную страницу, но когда я попадаю на любую другую страницу, в архив или что-то еще, она заканчивается в 404.php.

Я проверил следующее:

  1. Отключить все плагины (без результата)
  2. Включить тему по умолчанию (двадцать семнадцать, все в порядке)
  3. Постоянные ссылки на "/% postname% /", когда я установил его на "обычный", все работает
  4. Проверьте, есть ли .htaccess где-то, где он не принадлежит (не есть)
  5. Проверка правильности имен файлов (они есть)

Нет нужды говорить, что я действительно застрял, я создал несколько пользовательских тем и никогда раньше не сталкивался с этой проблемой. У кого-нибудь есть идеи?

С уважением,

Augus

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Хорошо, я исправил это, спасибо за помощь.

Я добавил правило перезаписи, которое было неправильным, затем снова удалил его. Но каким-то образом это переписывание не прошло и было активным только для моей темы.

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

add_action( 'init', 'shoe_flush_rewrite_rules' );


function shoe_flush_rewrite_rules() {
    flush_rewrite_rules();
}

Не забудьте удалить этот фрагмент, когда все снова будет работать, потому что его не нужно запускать каждый раз.

0 голосов
/ 09 мая 2018

В вашей теме отсутствует файл style.css, так как в вашем вопросе вы не упомянули style.css.

И style.css - наиболее необходимый файл для создания темы в WordPress, поэтому, пожалуйста, добавьте style.css в вашу тему, и он будет работать наверняка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...