Tôi có thể đặt các đoạn mã tôi tìm thấy ở đâu hoặc ở nơi nào khác trên web?


34

Nhiều bài đăng ở đây hoặc nơi nào khác có chứa mã, nhưng họ không nói nơi để đặt nó.

Thí dụ:

Tôi đã tìm thấy bài đăng này: Làm cách nào để tắt 301 bài viết chuyển hướng (không chính tắc)?
Tôi là người mới sử dụng PHP. Chính xác thì tôi nên đặt mã từ câu trả lời ở đâu?


1
Tôi đã tự do để làm cho câu hỏi của bạn ít bản địa hóa hơn, vì vậy chúng tôi có một bài đăng trong tương lai để trả lời các câu hỏi tương tự. Nếu bạn cho rằng điều đó không ổn, hãy sử dụng liên kết rollback trong lịch sử chỉnh sửa.
fuxia

1
Bạn cũng có thể thử để lại một bình luận về câu hỏi đó và hỏi ở đó.
JimmyPena

Câu trả lời:


34

Bất cứ khi nào bạn tìm thấy một đoạn mã mà không có hướng dẫn cài đặt rõ ràng thì đó có thể là một plugin. Ví dụ bạn đưa ra là một ví dụ tốt, vì đó là trường hợp phổ biến nhất:

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

Để sử dụng đoạn mã như vậy, hãy đặt nó vào một plugin:

  1. Tạo một tập tin mới, đặt tên cho nó chẳng hạn remove_404_redirect.php.
  2. Viết tiêu đề plugin đơn giản vào tập tin ngay từ đầu. Sử dụng URL nơi bạn tìm thấy mã dưới dạng Plugin URLvà tác giả mã là 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. Đặt mã bạn muốn sử dụng bên dưới các tiêu đề plugin.

  4. Cài đặt plugin mới.

Đó là tất cả mọi người.

Bạn có thể thêm mã vào chủ đề của bạn functions.php. Nhưng đó không phải là một ý tưởng tốt:

  • Thông thường, mã không nhằm thay đổi biểu thị trực quan của dữ liệu trang web của bạn. Nhưng đó là mục đích duy nhất của một chủ đề. Không trộn lẫn trách nhiệm.
  • Mã trong functions.phpkhông thể được tắt riêng. Nếu mã bị hỏng một ngày, bạn phải chỉnh sửa functions.phplại hoặc bạn phải chuyển chủ đề. Nếu bạn muốn sử dụng một chủ đề khác, bạn phải sao chép và dán lại tất cả mã đó.
  • Nếu bạn đặt càng nhiều đoạn trích vào, functions.phpbạn sẽ nhận được một mớ hỗn độn không thể nhầm lẫn theo thời gian.

Liên quan: Nơi để đặt mã của tôi: plugin hoặc hàm.php?


Cảm ơn bạn! Nó làm việc như một say mê. Và cảm ơn vì đã làm cho bài viết ít nội địa hóa. Làm cách nào để chia sẻ tệp plugin của tôi với người khác?
Carl

1
Bạn có thể xuất bản nó trên wordpress.org hoặc trên một dịch vụ lưu trữ mã miễn phí như GitHub. Nhưng tôi sẽ hỏi tác giả trước khi tôi làm điều đó. Để chỉ ra rằng một câu trả lời đã giải quyết vấn đề của bạn, hãy nhấp vào dấu kiểm nhỏ ✔ trên câu trả lời đó, để những người đọc khác thấy nó ngay lập tức.
fuxia

Khi tạo một plugin như thế này, tôi có cần đặt tệp vào một thư mục và nén / nén nó không, hoặc trình cài đặt plugin có hoạt động với một php độc lập không?
OC2PS

Ngoài ra, sẽ tạo một plugin với một câu lệnh đơn giản, đơn giản như add_filter ('flush_rewrite_rules_hard', '__return_false'); công việc?
OC2PS

1
@ OC2PS Không, phần cuối của tệp là phần cuối của chương trình.
fuxia

16

Tôi là nhà phát triển plugin cho phép bạn thêm đoạn mã vào trang web WordPress thông qua giao diện quản trị viên.

Nó thêm giao diện đồ họa, tương tự như menu Plugins, để quản lý đoạn trích. Đoạn trích có thể được kích hoạt hoặc hủy kích hoạt, gán tên và mô tả và phân loại bằng thẻ. Chúng cũng có thể được sao lưu và chuyển giữa các trang web bằng tính năng nhập / xuất.

Quản lý đoạn mã hiện có

Chỉnh sửa một đoạn

Ảnh chụp màn hình khác

Bạn có thể tìm hiểu thêm về plugin Code Snippets trên WordPress.org và xem mã của nó trên GitHub .


6

Mã được đề cập trong liên kết sẽ được đặt trong tệp tin.php của chủ đề của bạn, không phải trong canonical.php. Bạn phải luôn luôn tránh sửa đổi các tập tin WP lõi. Bạn không cần ghi đè hoặc nhận xét bất kỳ mã nào khác.

Tạo một bản sao lưu của tệp tin.php. Trước khi chỉnh sửa nó, vì ngay cả một lỗi cú pháp đơn giản trong hàm.php cũng có thể làm hỏng toàn bộ trang web của bạn.


Tôi không muốn sửa đổi bất kỳ tập tin WP lõi. Cảm ơn sự giúp đỡ của bạn.
Carl

7
@Carl Ông nói rõ để không sửa đổi các tập tin cốt lõi. Buồn mà tôi không thể downvote bình luận ...
kaiser

2

Nếu bạn đang sử dụng Jupiter WordPress Theme, bạn có thể làm điều đó bằng cách thêm các đoạn mã vào chức năng chủ đề con.php của bạn và bắt đầu ghi đè các móc, bộ lọc và mã ngắn như được mô tả ở đây:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.