그리고 어느 것을 사용해야합니까?
사이의 차이가 무엇 옵션 API 및 Setings API는 ?
100 개가 넘는 관리자 옵션이있는 테마가 있는데 어떻게 등록하고 저장해야합니까? 현재 Options API를 사용하고 있지만 만족스럽지 않습니다. 모든 단일 옵션이 개별적으로 등록되어 많은 데이터베이스 쿼리를 생성합니다.
현재 WordPress 옵션 / 설정을 저장하는 세 가지 방법이 있습니다.
1. 옵션 API-오래된 방법 (최악의 방법)
(이것을 이미 사용하고 있습니다)
<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>
// all the inputs
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="option1,option2,option3,..." />
<p class="submit">
<input type="submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>
그리고 프론트 엔드에서 :
echo get_option('option1');
못생긴 것처럼 보이며 그것이 많은 옵션을 저장하는 올바른 방법이라고 생각하지 않습니다 (어쨌든 그룹화하고 싶습니다).
2. 옵션 API-큰 배열로서의 1 옵션.
html 양식을 사용 하여이 배열을 업데이트하는 방법을 잘 모르겠습니다. 나는 그것이 다음과 같이 가야한다고 믿는다.
$opt['option1'] = foo
$opt['option2'] = foo
$opt['option3'] = bar
update_option('theme_settings',$opt);
그런 다음 프런트 엔드에서
$settings = get_option('theme_settings');
echo $settings['option1'];
echo $settings['option2'];
echo $settings['option3'];
실제로 쿼리 수가 줄어 들었으며 모두 하나의 옵션으로 제공됩니다. 나는 이것을 사용하고 싶지만 위에서 언급했듯이 Wordpress 관리 양식 에서이 옵션 배열을 업데이트하는 방법을 모르겠습니다. 내 생각 : <input type="hidden" name="theme_settings" value="option1,option2,option3,..." />
새로운 요소를 추가하는 대신 배열을 덮어 쓸 것인가?
3. 설정 API-새로운 방법.
추가 코드가 많이 필요합니다.
function register_theme_settings() {
//register our settings
register_setting( 'theme-settings', 'option1' );
register_setting( 'theme-settings', 'option2' );
register_setting( 'theme-settings', 'option3' );
register_setting( 'theme-settings', 'option4' );
register_setting( 'theme-settings', 'option5' );
// imagine this for 100 and more options
};
그리고 하나의 옵션을 배열로 사용 하여이 메소드와 메소드의 차이점이 무엇인지 잘 모르겠습니다.
tl; dr 따라서 테마 설정 저장소를 어떻게 투영하여 빠르게 작동 하고 모든 옵션 / 설정 을 한 곳에 저장 하면 예를 들어 하나의 간단한 기능으로 모두 에코 / 덤프 할 수 있습니다 (예 , 나는 그것을 잘못하고 싶지만이 설정 API로 어떻게하는지 알지 못합니다). 두 번째 방법은 지금까지 가장 좋습니다.