Gdzie mam umieścić fragmenty kodu, które znalazłem tutaj lub w innym miejscu w sieci?


34

Wiele postów tutaj lub gdzie indziej zawiera kod, ale nie mówią, gdzie go umieścić.

Przykład:

Znalazłem ten post: Jak wyłączyć 301 przekierowujących postów (nie kanonicznych)?
Jestem nowicjuszem w PHP. Gdzie dokładnie powinienem umieścić kod z odpowiedzi?


1
Pozwoliłem sobie, aby twoje pytanie było mniej zlokalizowane, więc w przyszłości mamy post, który odpowiada na podobne pytania. Jeśli uważasz, że to nie jest w porządku, użyj linku wycofania w historii edycji.
fuxia

1
Możesz także spróbować skomentować to pytanie i zadać tam pytanie.
JimmyPena,

Odpowiedzi:


34

Ilekroć znajdziesz fragment kodu bez jasnych instrukcji instalacji, prawdopodobnie jest to wtyczka. Podany przykład jest dobry, ponieważ jest to najczęstszy przypadek:

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

Aby użyć takiego fragmentu kodu, umieść go we wtyczce:

  1. Utwórz nowy plik, nazwij go na przykład remove_404_redirect.php.
  2. Napisz proste nagłówki wtyczek do pliku na samym początku. Użyj adresu URL, pod którym znalazłeś kod jako, Plugin URLi autora kodu jako 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. Umieść kod, którego chcesz użyć, pod nagłówkami wtyczek.

  4. Zainstaluj nową wtyczkę.

To wszyscy ludzie.

Państwo mogłoby dodać kod do motywu functions.php. Ale to nie jest dobry pomysł:

  • Zwykle kod nie ma na celu zmiany wizualnej reprezentacji danych witryny. Ale to jest jedyny cel tematu. Nie mieszaj obowiązków.
  • Kod w functions.phpnie można wyłączyć osobno. Jeśli kod się zepsuje, któregoś dnia musisz go functions.phpponownie edytować lub zmienić motywy. Jeśli chcesz użyć innego motywu, musisz skopiować i wkleić cały ten kod ponownie.
  • Jeśli włożysz w to coraz więcej fragmentów, functions.phpz czasem pojawi się nieusuwalny bałagan.

Powiązane: Gdzie umieścić mój kod: plugin or functions.php?


Dziękuję Ci! Działa jak urok. I dziękuję za to, że post został mniej zlokalizowany. Jak udostępnić plik wtyczki innym osobom?
Carl

1
Możesz opublikować go na wordpress.org lub w darmowej usłudze hostingowej kodu, takiej jak GitHub. Ale zanim to zrobię, zapytam autora. Aby wskazać, że odpowiedź rozwiązała problem, kliknij mały znacznik ✔ na tej odpowiedzi, aby inni czytelnicy zobaczyli ją natychmiast.
fuxia

Czy tworząc wtyczkę taką jak ta, muszę umieścić plik w folderze i skompresować / skompresować go, czy też instalator wtyczek działałby również z samodzielnym php?
OC2PS

Ponadto tworzyłby wtyczkę z prostą, pojedynczą instrukcją, taką jak add_filter ('flush_rewrite_rules_hard', '__return_false'); praca?
OC2PS

1
@ OC2PS Nie, koniec pliku to koniec programu.
fuxia

16

Jestem twórcą wtyczki, która pozwala dodawać fragmenty kodu do witryny WordPress za pośrednictwem interfejsu administratora.

Dodaje interfejs graficzny, podobny do menu Wtyczki, do zarządzania urywkami. Fragmenty można aktywować lub dezaktywować, przypisywać im nazwę i opis oraz kategoryzować za pomocą tagów. Można je również tworzyć kopie zapasowe i przenosić między witrynami za pomocą funkcji importu / eksportu.

Zarządzanie istniejącymi fragmentami

Edycja fragmentu

Więcej zrzutów ekranu

Możesz dowiedzieć się więcej o wtyczce Code Snippets na WordPress.org i zobaczyć jej kod na GitHub .


6

Kod, o którym mowa w łączu, należy umieścić w pliku functions.php motywu, a nie w canonical.php. Zawsze należy unikać modyfikowania podstawowych plików WP. Nie musisz nadpisywać ani komentować żadnego innego kodu.

Zrób kopię zapasową pliku functions.php przed jego edycją, ponieważ nawet prosty błąd składniowy w functions.php może zniszczyć całą witrynę.


Nie chciałem modyfikować żadnych podstawowych plików WP. Dziękuję za pomoc
Carl

7
@Carl Wyraźnie stwierdza, że nie modyfikuje podstawowych plików. Przykro mi, że nie mogę komentować komentarzy ...
Kaiser

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.