Де я можу розмістити фрагменти коду, які я знайшов тут чи десь в Інтернеті?


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вас, з часом ви отримаєте незбагненний безлад.

Пов’язано: Де поставити мій код: плагін або function.php?


Дякую! Це спрацювало як шарм. І дякую за те, що публікація стала менш локалізованою. Як я можу поділитися своїм плагін-файлом з іншими?
Карл

1
Ви можете опублікувати його на wordpress.org або на безкоштовній службі хостингу коду, як GitHub. Але я б попросив автора, перш ніж це зробити. Щоб вказати, що відповідь вирішила вашу проблему, натисніть на цю відповідь галочку ✔, щоб інші читачі побачили її негайно.
fuxia

Створюючи такий плагін, чи потрібно мені класти файл у папку і стискати / блискавити його, чи інсталятор плагіну також працює з автономним php?
OC2PS

Крім того, зробить плагін з простим, єдиним оператором, таким як add_filter ('flush_rewrite_rules_hard', '__return_false'); робота?
OC2PS

1
@ OC2PS Ні, кінець файлу - це кінець програми.
фуксія

16

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

Він додає графічний інтерфейс, подібний до меню плагінів, для управління фрагментами. Фрагменти можна активувати або деактивувати, присвоювати ім’я та опис та класифікувати за допомогою тегів. Їх також можна створити резервну копію та перенести між сайтами за допомогою функції імпорту / експорту.

Керування наявними фрагментами

Редагування фрагмента

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

Ви можете дізнатися більше про плагін Code Snippets на WordPress.org та переглянути його код на GitHub .


6

Код, на який посилається посилання, повинен бути розміщений у файлі function.php вашої теми, а не в canonical.php. Ви завжди повинні уникати змін основних WP-файлів. Вам не потрібно перезаписувати чи коментувати будь-який інший код.

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


Я не хотів змінювати жодні основні файли WP. Дякую за твою допомогу.
Карл

7
@Carl Він чітко заявляє, що не змінювати основні файли. Сумно, що я не можу спростувати коментарі ...
kaiser

2

Якщо ви використовуєте тему Jupiter WordPress, ви можете це зробити, додавши фрагменти коду до дочірньої тематичної функції.php і почати змінювати гачки, фільтри та шорткоди, як описано тут:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.