Hạn chế khả năng tương thích ngược của chủ đề WordPress của bạn

Tiếp cận bất kỳ giải pháp nào WordPress với cùng một nhà thiết kế hung dữ, tiếp cận trình duyệt chiến lược: hợp lý nhưng cũng không thể nhầm lẫn!
WordPress phát triển như mã nguồn nhanh và rất tốt . Giả sử, nếu bạn là một nhà phát triển front-end tự động làm việc với các ngôn ngữ khác nhau và xây dựng trên nền tảng khác nhau cho các khách hàng và dự án khác nhau của mình, thì bạn vào điểm bạn quay trở lại với dự án WordPress, bạn thường cần cập nhật nhanh.

You can lướt qua các điểm phát hành, nhưng có vẻ như, với mỗi bản phát hành đầy đủ, bạn sẽ phải đi học lại hoàng. Thông thường tất cả những gì bạn phải làm là truy cập vào codex và đọc lại những gì đã được viết từ khi bạn đi; the new standard any will be used to bender, vv

Ngoài ra, bạn nên tiếp cận bất kỳ giải pháp nào WordPress với cùng các nhà thiết kế hung dữ liệu tiếp cận chiến lược trình duyệt: hợp lý nhưng cũng tàn nhẫn!

 

Với mỗi bản phát hành đầy đủ, WordPress triển khai các tính năng không được hỗ trợ trong các phiên bản cũ hơn. Ngoài ra khi khách hàng của bạn cập nhật cài đặt của họ lên phiên bản WP mới nhất, các tính năng tuyệt vời của các mới tính năng sẽ bị mất trên họ.

Từ điểm quan của một chủ đề thiết kế nhà, nếu bạn có thể thoát khỏi những điều kiện vô nghĩa để kiểm tra tài liệu một số tính năng nhất định của WordPress có hợp lý trong phần mềm phiên bản đang hoạt động hay không, bạn will ổn định trên đường đến với thiên đường KHÔ.

Ngoài ra, nếu bạn đang ở trong trường tình huống, bạn không thể hiểu được cài đặt của người dùng cuối cùng trông giống như thế nào hoặc có khả năng như thế nào, bạn phải bắt đầu thực hiện một số biện pháp phòng. You must write a fixed bytes.

Là một thiết kế nhà, bạn hiểu chiến thuật này. Đó là một PR trạng thái. Không quan trọng là bất cứ điều gì gây ra sự cố hoàn toàn không phải do lỗi của bạn, đối với khách hàng, điều quan trọng chỉ là bạn được liên kết gần nhất với sự cố có thể xảy ra. Other mặt, mới hơn - ít nhất là trong thế giới WordPress - thường tốt hơn. Mới hơn tính năng thường khá có lợi. Fptshop.com.vn

Your support limitation

If you have a comment, as from the version 3.6, you start started to get a call, khá cao trong việc sử dụng mặc định chủ đề bị hạn chế trong bất kỳ phiên bản WP nào không mới hơn 3.6.functions.php

Hầu như không quan trọng bạn đang triển khai các tính năng nào nhưng nếu có thể, hãy hạn chế sử dụng bất kỳ chủ đề nào bạn đang xây dựng cho một phiên bản WordPress mới hơn một cách hợp lý. Điều đó sẽ đảm bảo người dùng cuối cập nhật cài đặt của họ (tất cả đều tốt hơn cho họ về mặt an toàn) và cho phép họ và bạn tận dụng tất cả các chức năng / tính năng mới.

Để đạt được điều này, chúng tôi sử dụng hàm PHP để kiểm tra phiên bản WordPress hiện được cài đặt so với phiên bản mới nhất hiện có, đảm bảo rằng phiên bản cài đặt mới nhất không thấp hơn 3,6. Các hàm đó trông giống như sau:version_compare()

if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {
  // do (or do not) something
}

Điều này không được sử dụng nhiều nếu tất cả những gì chúng ta muốn làm là tìm hiểu xem phiên bản WP hiện được cài đặt có nhỏ hơn 3.6 hay không. Đương nhiên, chúng tôi muốn kiểm tra điều đó nhưng sau đó khi chúng tôi có phản hồi ĐÚNG / SAI, chúng tôi tiếp tục và làm điều gì đó.

Giả sử rằng chủ đề mặc định tồn tại, trong trường hợp của chúng tôi, chúng tôi muốn kiểm tra xem phiên bản WP có lớn hơn 3.6 hay không và nếu không, hãy bỏ qua việc người dùng cố gắng kích hoạt chủ đề mới của chúng tôi và hoàn nguyên (bỏ đặt) về chủ đề đã được xác định trước đó.

Những gì chúng tôi muốn làm là đảm bảo rằng chủ đề của chúng tôi hoàn toàn không kích hoạt trong các phiên bản WordPress nhỏ hơn 3.6. Nếu người dùng cố gắng kích hoạt nó, chúng tôi muốn WordPress trở lại chủ đề mặc định thường có chức năng và cũng có thể xuất ra một thông báo cho người dùng biết rằng chủ đề mới, đẹp, có nhiều tính năng này chỉ hoạt động trong các phiên bản WordPress hiện tại.

Làm (hoặc không) điều gì đó

Chúng tôi đã bắt đầu kiểm tra phiên bản WordPress. Bây giờ chúng tôi làm / không một cái gì đó.

Vì vậy, bên trong kiểm tra phiên bản gốc của chúng tôi, chúng tôi xác định một hàm thực hiện những gì chúng tôi cần nó làm, trong một vài bước là:

  1. Kiểm tra phiên bản WordPress hiện đang được cài đặt
  2. Đảm bảo rằng phiên bản đó mới hơn phiên bản # 3.6
  3. Nếu / Khác có liên quan về mặt vũ trụ:
    1. Nếu đúng: Kích hoạt chủ đề.
    2. Nếu không: Không kích hoạt chủ đề. Thay vào đó, hãy kích hoạt lại / kích hoạt chủ đề mặc định và tốt hơn là xuất ra một thông báo nhỏ hướng dẫn người dùng nâng cấp cài đặt cũ một cách kỳ cục của họ.
function butter_never_get_old() {
  switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );
  unset( $_GET['activated'] );
  // we add some admin notices here (we haven't defined this function yet)
  add_action( 'admin_notices', 'butter_step_your_game_up' );
}
add_action( 'after_switch_theme', 'butter_never_get_old' );
Với điều này, những gì bạn đang làm là xác định một hàm hành động sẽ chỉ chạy khi hàm cốt lõi được gọi. Tuy nhiên, hãy nhớ rằng chức năng này nằm bên trong các chức năng kiểm tra phiên bản gốc của bạn, vì vậy mã trong mã của bạn cho đến nay sẽ giống như sau:butter_never_get_old()after_switch_theme()functions.php
if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {
  function butter_never_get_old() {
    switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );
    unset( $_GET['activated'] );
    // we add some admin notices here (we haven't defined this function yet)
    add_action( 'admin_notices', 'butter_step_your_game_up' );
  }
  add_action( 'after_switch_theme', 'butter_never_get_old' );
}
Vì vậy, sau khi kiểm tra phiên bản WP hiện được cài đặt không cũ hơn 3.6, chúng tôi chạy chức năng . Nếu chức năng này nhận thấy rằng phiên bản WP thực sự cũ hơn phiên bản đó, nó sẽ từ chối nỗ lực kích hoạt chủ đề và kích hoạt lại / kích hoạt . Ngoài ra, nó còn thêm một thông báo quản trị được xác định bởi chức năng mà bạn chưa xác định.butter_never_get_old()WP_DEFAULT_THEMEbutter_step_your_game_up()

Trước khi chúng tôi xác định hàm, bạn nên biết một số điều:butter_step_your_game_up()

Nâng tầm trò chơi của bạn

function butter_step_your_game_up() {
  $update_message = sprintf( __( 'This theme requires WordPress version 3.6 or newer. You\'re currently using version %s. Please upgrade.', 'butter' ), $GLOBALS['wp_version'] );
  printf( '<div class="error"><p>%s</p></div>', $update_message );
}
Hàm trên đặt chuỗi thông báo lỗi có thể dịch của chúng tôi trong biến như được xác định (Chủ đề này yêu cầu… v.v.), sau đó được in và hiển thị cho người dùng (từ trong hàm được xác định trước đó ) và trực quan, bên trong một div có lớp “lỗi” . Sau đó, bạn có thể nhắm mục tiêu div lỗi đó và tạo kiểu cho nó như mong muốn.butter_step_your_game_up()$update_messagebutter_never_get_old()

Với điều đó, bạn đảm bảo rằng chủ đề của bạn không thể được kích hoạt trên các bản cài đặt WordPress chạy Phiên bản 3.6 trở lên.

Phân chia và chinh phục

Mặc dù Công cụ tùy chỉnh chủ đề đã được giới thiệu trong WordPress 3.4, bạn sẽ nhận thấy rằng phiên bản mới nhất của chủ đề mặc định của WordPress (Twenty Fourteen) chỉ bán buôn từ chối kích hoạt trên các cài đặt phiên bản cũ hơn 3.6. Nó đưa ra một thông báo lịch sự đề nghị bạn nâng cấp lên phiên bản WP mới nhất nếu bạn cố gắng kích hoạt nó. Điều này và các tính năng xem trước trực tiếp rõ ràng không được phép thông qua các hàm được lồng trong hàm mà chúng ta đã thấy trước đó.version_compare()

Nói một cách đơn giản, trong khi bạn không cần phải quá nặng tay với phiên bản WordPress mà bạn hỗ trợ, hãy đảm bảo rằng chủ đề của bạn không có bất kỳ trình bao bọc điều kiện nào . Nói cách khác, KHÔNG cung cấp hỗ trợ cho các tính năng cốt lõi mới cho các phiên bản cũ của WordPress. Thay vào đó, hãy hướng dẫn người dùng cập nhật cài đặt của họ.if ( function_exists() )

Cách để giữ cho WordPress phát triển và bạn vẫn khỏe là bảo đảm các chủ đề mà bạn đưa ra (và phải hỗ trợ trong một thời gian) không bị lỗi và không được sử dụng.