Где я могу разместить фрагменты кода, которые я нашел здесь или где-то еще в Интернете?

34

Многие сообщения здесь или где-то еще содержат код, но они не говорят, где его разместить.

Пример:

Я нашел это сообщение: Как отключить перенаправление сообщений 301 (не каноническое)?
Я новичок в PHP. Где именно я должен разместить код из ответа?

деревенщина
источник
1
Я взял на себя смелость сделать ваш вопрос менее локализованным, поэтому в будущем у нас будет пост, который отвечает на подобные вопросы. Если вы считаете, что это не так, воспользуйтесь ссылкой отката в истории изменений.
fuxia
1
Вы также можете попробовать оставить комментарий к этому вопросу и спросить там.
JimmyPena

Ответы:

34

Всякий раз, когда вы найдете кусок кода без четких инструкций по установке, это, вероятно, плагин. Хороший пример, который вы привели, потому что это наиболее распространенный случай:

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

Чтобы использовать такой фрагмент, поместите его в плагин:

  1. Создайте новый файл, назовите его, например remove_404_redirect.php.
  2. Запишите простые заголовки плагинов в файл в самом начале. Используйте URL-адрес, где вы нашли код как, Plugin URLи автора кода как Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
  3. Поместите код, который вы хотите использовать, под заголовками плагинов.

  4. Установите новый плагин.

Это все люди.

Вы можете добавить код к вашей теме functions.php. Но это не очень хорошая идея:

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

Связанный: Где поместить мой код: плагин или functions.php?

Фуксия
источник
Спасибо! Оно работало завораживающе. И спасибо за то, что сделали пост менее локализованным. Как я могу поделиться своим файлом плагина с другими?
Карл
1
Вы можете опубликовать его на wordpress.org или на бесплатной службе хостинга кода, такой как GitHub. Но я бы попросил автора, прежде чем я это сделаю. Чтобы указать, что ответ решил вашу проблему, нажмите на маленькую галочку that на этом ответе, чтобы другие читатели увидели его немедленно.
fuxia
При создании такого плагина, нужно ли мне помещать файл в папку и сжимать / архивировать его, или же установщик плагина будет работать с автономным php?
OC2PS
Кроме того, можно было бы создать плагин с одним простым оператором, например add_filter ('flush_rewrite_rules_hard', '__return_false'); Работа?
OC2PS
1
@ OC2PS Нет, конец файла - это конец программы.
fuxia
16

Я разработчик плагина, который позволяет вам добавлять фрагменты кода на сайт WordPress через интерфейс администратора.

Он добавляет графический интерфейс, аналогичный меню плагинов, для управления фрагментами. Фрагменты могут быть активированы или деактивированы, им присваиваются имя и описание, и они классифицируются с помощью тегов. Они также могут быть скопированы и переданы между сайтами с помощью функции импорта / экспорта.

Управление существующими фрагментами

Редактирование фрагмента

Больше скриншотов

Вы можете узнать больше о плагине Code Snippets на WordPress.org и увидеть его код на GitHub .

карите
источник
6

Код, указанный в ссылке, должен быть помещен в файл functions.php вашей темы, а не в файл canonical.php. Вы всегда должны избегать изменения основных файлов WP. Вам не нужно перезаписывать или комментировать любой другой код.

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

Энди
источник
Я не хотел изменять какие-либо основные файлы WP. Спасибо за помощь.
Карл
7
@Carl Он четко заявляет, чтобы не изменять основные файлы. Грустно, что я не могу понизить комментарии ...
Кайзер
2

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

https://themes.artbees.net/docs/overriding-shortcodes/

Mohsenr1
источник