24+ причины, по которым код не работает и как это исправить
Опубликовано: 2013-08-21Я всегда сначала тестирую код, чтобы убедиться, что он работает, однако есть много причин, по которым иногда он не работает как у меня, так и у других людей, которые его используют, даже если он не сломан.
Вот список некоторых причин, по которым код не работает:
- Забыли очистить кеш браузера: вы можете вносить изменения в CSS и думать, что они не работают, хотя на самом деле они работают, потому что браузер на самом деле отображает более старую версию страниц, которая включает старый код. Очистите кеш браузера, чтобы убедиться.
- Не очистил кэш сервера: некоторые провайдеры управляемого хостинга используют очень агрессивное кэширование на стороне сервера. Я знаю, что WPEngine означает, что может пройти несколько дней, прежде чем изменения CSS появятся на вашем сайте. Вы можете внести эти изменения, которые действительно работают, но думаете, что это не так, потому что вы не можете видеть изменения во внешнем интерфейсе. Очистите кеш сервера и протестируйте код локально, используя кэширование на стороне сервера или подключаемый модуль кэширования.
- Код CSS вставлен в файл функций: код CSS не работает должным образом в файле функций, который включает открывающий тег PHP, означающий, что он читается процессором PHP, установленным на сервере.
- Вставил PHP в таблицу стилей : код PHP не работает в файле .css, который читается браузером, а не процессором PHP, установленным на сервере.
- Вставка PHP или CSS в сценарии верхнего и нижнего колонтитула: темы, которые включают поле для сценариев верхнего и нижнего колонтитула, делают это, чтобы упростить добавление JavaScript для отслеживания Google Analytics и сценариев живого чата, а не сценариев PHP.
- Скопировал его с веб-страницы и вставил в редактор темы: Очень распространенная ошибка, из-за которой апострофы переворачиваются, что приводит к белому экрану смерти, который ломает ваш сайт. Всегда копируйте необработанный код и вставляйте его в конец файла с помощью текстового редактора, например Notepad++.
- Не скопирован весь код: копирование блока кода CSS, который не включает класс или пропускает закрывающую скобку, приведет к тому, что код не будет работать. Таким образом, вы можете подумать, что код не является geed, когда единственная проблема заключается в том, что вы оставили квадратную скобку или точку с запятой.
- Не вставил весь код : то же, что и выше, и иногда случается.
- Используйте новые хуки, когда ваша тема использует старые: Использование кода, который включает хуки Loop для сайтов, все еще использующих старую разметку XHTML на новых сайтах, не работает. Код будет работать на старых сайтах, поэтому он не будет сломан, но он не будет работать на HTML 5 с включенными дочерними темами.
- Использовали старые хуки, когда ваша тема использует новые: То же, что и выше.
- Использование старого браузера, который не поддерживает классы в коде: некоторые старые браузеры не поддерживают определенные классы CSS, что означает, что код не будет делать то, для чего он написан. Вы можете установить несколько браузеров для тестирования кода или использовать бесплатные онлайн-инструменты для кросс-браузерной совместимости.
- Использование последней версии браузера, которая еще не поддерживает классы в коде: некоторые новые браузеры не поддерживают некоторые классы CSS, что означает, что код будет работать в старых браузерах, однако вы можете подумать, что это не так, потому что вы используете бета-версию. версию или последнюю версию, которая только что вышла.
- Скопируйте открывающий тег PHP и вставьте его в файл функций: фрагменты PHP обычно включают открывающий тег PHP, однако его не следует вставлять в файл функций, который уже включает этот тег. Вы получите сообщение об ошибке и сломаете свой сайт, если это произойдет, что легко исправить, просто удалив тег. По этой причине лучше всего использовать текстовый редактор для вставки кода в фактический файл, а не использовать их редактор WordPress. Если вы добавите код в фактический файл, вы можете легко повторно открыть его и быстро устранить проблему, чего нельзя сказать об использовании редактора тем, поскольку вы будете заблокированы на сайте, когда столкнетесь с ошибкой программирования.
- Скопировано и вставлено оба решения, а не выбрано одно: многие сообщения и форумы содержат несколько фрагментов кода, которые решают одни и те же проблемы. Если вы вставите 2 фрагмента кода, которые делают одно и то же, это может привести к поломке вашего сайта, поэтому вы можете подумать, что код не работает, что не так. Используйте только один фрагмент за раз.
- Скопированный код функций в файл шаблона: Иногда вы можете найти PHP-код, который был написан для использования в файле шаблона, а не в файле функций дочерней темы. Код шаблона не всегда работает в файле функций, поскольку он обычно заключен в открывающие и закрывающие теги PHP. Пользовательские функции, как правило, не означают, что они обычно не будут работать в файле te,plate в зависимости от темы. Просто убедитесь, что вы точно знаете, в какой файл вставить код, иначе вы можете получить сообщение об ошибке, думая, что код не работает, когда он работает.
- У вас установлен плагин, который переопределяет код: некоторые плагины перекрывают код PHP, что означает, что код с фильтрами и перехватчиками может не работать. Примером этого является плагин Genesis Simple Edits. Если у вас установлен этот плагин, который позволяет вам настраивать информацию о сообщениях и метаданные сообщений, добавление PHP-кода для выполнения того же действия, которое включает в себя метаданные сообщений или фильтр сведений о сообщениях, не будет работать. Вы можете подумать, что код не работает, хотя на самом деле это так, и все, что вам нужно сделать, чтобы решить проблему и заставить код работать, — это деактивировать плагин.
- Использование PHP-кода для условного изменения макета Этот код не будет работать на некоторых темах, использующих bbPress, которые также используют плагин Genesis bbPress connect. Этот плагин подключается к фильтрам Genesis, что делает то же самое, что PHP-код делает для условного изменения макетов, поэтому он не будет работать, поскольку он перекрывает код.
- Использование классов XHTML CSS в дочерней теме HTML 5. Пример: #content не будет работать в дочерней теме HTML 5, в которой используется .entry-content.
- Использование разметки HTML в теме XHTML — .site-header не будет работать на сайте с разметкой XHTML, поэтому вам необходимо использовать #header.
- Код шаблона главной страницы — любой код в шаблоне главной страницы работает только при использовании настроек чтения по умолчанию. Если вы измените эти настройки и выберете статическую страницу в качестве главной страницы, код в шаблоне главной страницы не будет работать.
- Добавлен CSS после медиа-запросов . Лучше всего добавить пользовательский CSS перед вашими медиа-запросами, иначе он может не работать.
- Добавлен CSS для изменения уже стилизованного класса — вы добавили CSS в конец вашей таблицы стилей, чтобы изменить стиль существующего элемента, который уже стилизован по умолчанию. Примером этого является изменение области виджета для использования виджета рекомендуемых сообщений Genesis, когда по умолчанию он настроен на использование виджета избранной страницы. Ваш CSS может быть другим, но вы используете другой класс. Что вам нужно сделать, так это изменить CSS по умолчанию, чтобы он в более длинных случаях стилизовал виджет рекомендуемой страницы и только стилизовал виджет избранного поста.
- Код шаблона домашней страницы — любой код в файле шаблона home.php будет работать только на главной странице, если вы используете настройки чтения по умолчанию. Если вы используете статическую страницу в качестве главной страницы, код будет работать только на вашей странице сообщений (например, на странице блога), если вы не выбрали шаблон страницы блога в раскрывающемся меню. (Применяется только к темам с шаблоном страницы блога).
- Неправильно измененный CSS приводит к поломке других CSS — участник установил некоторый код для создания пользовательского макета, но это не сработало, потому что CSS для изменения ширины контента не работал. Они обнаружили, что другие CSS, которые они добавили ранее, используя !important, мешали работе нового CSS.
Приведенный выше код НЕ будет работать, если у вас также активирован плагин Genesis Simple Edits, поскольку он перекрывает фильтр информации о сообщениях.
Это все, о чем я могу думать на данный момент, но я уверен, что есть много других причин, по которым код не работает (но на самом деле работает), которые можно добавить в этот список.
Похожие сообщения
- 5 важных моментов, которые следует учитывать перед повторной публикацией кода