it-swarm-vi.com

sử dụng add_sinstall_field đúng cách?

Tôi đang sử dụng add_sinstall_field để thêm một số chi tiết vào menu cài đặt, nhưng không chắc chắn cách tôi lưu cài đặt hoặc gọi lại chúng trong chủ đề của mình.

Đây là mã cho đến nay

add_action('admin_init','vimeo_setup');

function vimeo_setup(){
add_settings_field('vimeo_id','Vimeo ID','display_vimeo','general');
}

function display_vimeo(){

 echo '<input  type="text" name="vimeo_id" id="vimeo_id" value="" size="30" style="width:85%" />';
 echo '<p><small> Enter your Vimeo ID here.</small></p>';
}
3
Mild Fuzz

Tài liệu cho add_sinstall_field () Nói như sau:

Bạn PHẢI đăng ký bất kỳ tùy chọn nào được sử dụng bởi hàm này với register_setting () nếu không chúng sẽ không được lưu và cập nhật tự động.

4
Rarst

Cần lưu ý rằng để thêm trường cài đặt, bạn phải đăng ký trường đó vào phần đã đăng ký ..

Vì vậy, phần này phải được sử dụng cùng với phần đã đăng ký của riêng bạn hoặc thay vào đó là một trường để thêm vào phần hiện có (chẳng hạn như các phần trong các trang tùy chọn).

Xem. http://codex.wordpress.org/Function_Reference/add_sinstall_section

Tôi sẽ đi xa hơn để nói rằng những điều này không thực sự tốt khi nói đến việc xây dựng các trang tùy chọn plugin hoặc tương tự (tùy chọn chủ đề), đơn giản vì mỗi phần và trường đã đăng ký phải được cung cấp một cuộc gọi lại (hãy tưởng tượng bạn sẽ có bao nhiêu cuộc gọi lại cần nếu bạn có 3-4 phần tất cả với 5-6 trường). Tất nhiên, bạn có thể thực hiện các cuộc gọi lại động (vì vậy bạn chỉ cần một cuộc gọi lại cho một phần và một cho các trường) bằng cách chuyển các tham số ... (bạn cũng cần đảm bảo rằng bạn in các phần tử cho các phần/trường này). .

Cá nhân tôi thấy tốt hơn là chỉ cần đăng ký tùy chọn/cài đặt của bạn và in ra các phần/trường của riêng bạn và gọi một đơn vị duy nhất để bao gồm tất cả các cài đặt của bạn ..

// 1: Reference, 2: Option name, 3: Callback function to sanitize the data
register_setting( 'reference_name', 'option_name', 'example_callback' );

Sau đó, bất cứ nơi nào bạn in các trường tùy chọn khác nhau của mình, bạn chỉ cần in một nonce bao gồm rất nhiều ..

settings_fields( 'reference_name' ); 

Nếu bạn đã đăng ký các phần và lĩnh vực khác nhau, bạn cũng phải làm điều này cho từng phần đã đăng ký.

do_settings_sections('your_section');

Thực sự khía cạnh quan trọng duy nhất của việc thiết lập các tùy chọn tùy chỉnh là đảm bảo bạn xác định cuộc gọi lại của chính mình khi đăng ký cài đặt và vệ sinh dữ liệu đó một cách thích hợp (tham số thứ ba cho register_setting).

3
t31os