Shortcodes không bao giờ nên được bao gồm với chủ đề. Giai đoạn = Stage.

Chủ đề gần đây cập nhật của họ Yêu cầu gửi chủ đề WordPress để nghiêm ngặt hơn và phù hợp hơn với các thực tiễn tốt nhất về phát triển chủ đề WordPress.


Các hướng dẫn yêu cầu sử dụng một số tính năng cốt lõi của WordPress, các móc nối chủ đề tiêu chuẩn và không cho phép các chức năng PHP (như base64 và fopen) thực sự Nên đã từng có bất kỳ vị trí nào trong một chủ đề WordPress đầu tiên là.

Về cơ bản, khá nhiều WordPress.org Chính sách đánh giá chủ đề, cho hoặc nhận một vài thứ.

Nhìn chung, nó là một bước đi đúng hướng và di chuyển đến thúc đẩy thực tiễn tốt nhất trên một trong những thị trường chủ đề WordPress phổ biến nhất trên mạng. Có một vấn đề chỉ có một vấn đề

Mã ngắn được chấp nhận

Tuy nhiên, một điều đặc biệt khiến tôi chú ý là Một số chức năng shortcode được chấp nhận của Cameron đã được cho phép (tức là bằng cách trực tiếp bao gồm chúng thông qua tệp chủ đề. Những người được liệt kê là những người được ngưỡng mộ của Haiti bao gồm:

  • nút
  • bảng giá
  • thùng chứa hình ảnh
  • thả
  • danh sách

Các mã ngắn không thể chấp nhận bao gồm: bản đồ, accordion và toggles, nội dung được đóng hộp, cột, biểu mẫu liên hệ, biểu đồ.

Vấn đề với mã ngắn trong chủ đề

Tôi có thể thực sự đặt nó tốt hơn Justin Tadlock đã có. Một trong những vấn đề đáng chú ý nhất là khi người dùng thay đổi chủ đề, shortcodes sẽ không còn được phân tích cú pháp.

Hãy để chủ đề nói về Super Super Awesome của Google có một tính năng shortcode sẽ xuất ra một nút màu xanh lá cây lớn với một liên kết khi bạn gõ một cái gì đó như [nút url ="http://example.com"] Nút lớn màu xanh lá cây [/ nút].

Nút lớn màu xanh lá cây

Khi bạn chuyển sang chủ đề khác (hãy để đối mặt với nó, mọi người sẽ dễ dàng chán các chủ đề đó), ở đó, không có nút màu xanh lá cây lớn nào nữa. Thay thế, bạn thấy mã ngắn chưa được chỉnh sửa trong bài như thể đó là bất kỳ phần nội dung nào khác, như thế này:

[nút url = Thẻ http://example.com ‘] Nút lớn màu xanh lá cây [/ nút]

Nó trông xấu xí, khó hiểu và lạc lõng, và nó LỚN đau đớn cho người dùng quay trở lại và loại bỏ / thay thế Tất cả bọn họ.

Vấn đề khác với Mã ngắn trong Chủ đề

Một cái gì đó mà Tadlock đã nói trong bài viết về Xử lý sự điên cuồng của shortcode của anh ấy là, rất nhiều đoạn mã rất đơn giản và giống như HTML, thậm chí có thể tốt nhất là hướng dẫn người dùng viết ra một chút (* gasp *) mã HTML thực.

Cùng [nút url ="http://example.com"] Mã văn bản nút [/ button] trong ví dụ của tôi ở trên có thể là dễ dàng viết lại như một cái gì đó như:

Nút văn bản ở đây

Mặc dù có thể không có mã CSS tạo kiểu cho bộ chọn .button trong một chủ đề mới, ít nhất một liên kết bình thường sẽ hiển thị. Đó là một cải tiến lớn trên một mã ngắn [nút] chưa được hiển thị trong nội dung bài đăng.

Thêm vào đó, tôi tin rằng mọi người dùng WordPress nên có ít nhất một số hiểu biết cơ bản về mã HTML. Bằng cách dạy chúng, ngay cả trong các bit nhỏ (như cách xây dựng một liên kết), sẽ giúp ích. Nếu họ có thể hiểu một shortcode, thì won won sẽ mất nhiều hơn nữa để khiến họ hiểu HTML cơ bản.

Nhưng người dùng Don chăm sóc!

Một lập luận phổ biến mà tôi thấy bảo vệ tất cả các loại thực tiễn xấu khi phát triển chủ đề là người dùng chỉ đơn giản là không quan tâm. Ý tôi là, có lẽ họ không bao giờ muốn cập nhật chủ đề của mình, trong trường hợp này, cái này vấn đề shortcode sẽ là một điểm moot.

Vấn đề là, một số người dùng chắc chắn sẽ muốn chuyển đổi chủ đề một ngày nào đó. Một số người dùng sẽ muốn cài đặt một plugin có thể xung đột với một số mã kém suy nghĩ khác trong một chủ đề.

Sau đó, họ có thể sẽ quan tâm, và có lẽ sẽ tự hỏi liệu chủ đề họ đã mua với 100 mã ngắn tích hợp và khác các tính năng không cần thiết thực sự đáng giá.

Cách đúng để bao gồm các mã ngắn

Đặt nó trong một plugin. Một plugin thực sự đơn giản. Nó không cần một bảng tùy chọn riêng. Chỉ cần sao chép và dán theo nghĩa đen bất cứ điều gì bạn sẽ bao gồm thông qua tập tin chủ đề của bạn. đặt nó trong một plugin thay thế.

Nó thậm chí có thể được đóng gói với một cái gì đó như Kích hoạt Plugin TGM để làm cho nó được yêu cầu kích hoạt chủ đề. Hay không. Một chủ đề vẫn là một chủ đề không có shortcodes.

Bằng cách này, nếu người dùng thay đổi chủ đề, shortcodes vẫn sẽ hoạt động, bởi vì chức năng đó được xử lý bởi plugin vẫn đang hoạt động.

Có lẽ các plugin cũng có thể phong cách enqueue cho các mã ngắn là tốt. Bằng cách này, các nút màu xanh lá cây lớn mà bạn đi kèm với mã ngắn [nút] sẽ vẫn là các nút màu xanh lá cây lớn, bất kể chủ đề được sử dụng là gì.

Tại sao ThemeForest lại cho phép?

Thật khó để nói chính xác lý do đằng sau quyết định này là gì. Japh Thomson, một nhà truyền giáo WordPress tại Envato (công ty mẹ của ThemeForest) đã có điều này để nói về nó trong một bình luận trên WPMU.org:

Chức năng shortcode phức tạp thực sự nên nằm trong một plugin, không phải là một chủ đề. Nó cũng có ý nghĩa khi bạn xem xét hầu hết các tác giả của chúng tôi có nhiều chủ đề.

Rõ ràng, anh ta nhận được nó. Vì vậy, nó là một bí ẩn đối với tôi tại sao sẽ có bất kỳ đoạn mã ngắn nào được chấp nhận của người Viking ở tất cả. Và vâng, tôi nhận ra anh ấy đã sử dụng từ “phức tạp” trong đoạn trích dẫn ở trên, và các mã ngắn được chấp nhận có xu hướng khá đơn giản (dropcaps, list, v.v.).

Đơn giản như một shortcode có thể là, vấn đề tôi nêu ở trên vẫn sẽ tồn tại. ThemeForest đã cho thấy phản ứng nhanh với phản hồi của cộng đồng, do đó, có thể quy tắc này được sửa đổi trong tương lai.

Phần kết luận

Tôi nhận ra bài này có vẻ hơi kén chọn, và những hướng dẫn mới này chắc chắn là một bước tiến lớn theo đúng hướng. Nhưng có thực sự không có lý do nào cho phép bất kỳ shortcode nào trong một chủ đề, đơn giản hay không.

Bạn có thể nghĩ về một tình huống khi một chủ đề được phát hành công khai hoàn toàn cần bao gồm chức năng shortcode thông qua các chức năng của chính nó.php?

– Phòng thí nghiệm chủ đề (@themelab) Ngày 9 tháng 7 năm 2013

Cảnh báo spoiler: Didnith nhận được bất kỳ phản hồi nào cho tweet đó với một ví dụ thực tế về một shortcode hoàn toàn cần được đưa vào một chủ đề được phát hành công khai.

Đó là vì nó LỚN chỉ không thân thiện với người dùng để người dùng quay lại và thay thế hàng trăm mã ngắn nút sau khi họ chuyển sang một chủ đề không có hỗ trợ mã chính xác tương tự.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map