WordPress 테마 사용자 정의 프로그램과 상호 작용

  1. 1. 워드 프레스 테마 커 스터 마이저 소개
  2. 2. 현재 읽고있는 내용 : WordPress 테마 사용자 정의 프로그램과 상호 작용
  3. 삼. 워드 프레스 테마 커 스터 마이저
  4. 4. WordPress 테마 사용자 정의 보일러 플레이트 확장
  5. 5. 테마 사용자 정의 보일러 플레이트 – 조건부 옵션, 하위 테마 및 플러그인

WordPress Theme Customizer 시리즈의 1 부에서 Theme Customizer와 상호 작용하려면로드해야한다고 언급했습니다. $ wp_customize 의 인스턴스 인 객체 WP_Customize_Manager 수업. 그렇게하려면 customize_register 액션 훅 :


add_action ( 'customize_register', 'my_theme_customize_register');
함수 my_theme_customize_register ($ wp_customize) {

// $ wp_customize 객체와 상호 작용

}

이 코드를 테마의 functions.php 또는 여기에 포함 된 파일에 배치 할 수 있습니다.

Theme Customizer 요소 (섹션, 설정 및 컨트롤) 추가 또는 제거

당신이로드되면 $ wp_customize 객체의 메소드를 사용하여 설정, 컨트롤 및 섹션을 추가, 가져 오기 또는 제거 할 수 있습니다 (add_setting, get_setting, remove_setting, add_control… 포인트를 얻습니다).

그래서 당신이 원한다면 가져 오기 또는 없애다 섹션, 컨트롤 또는 설정, ID 만 있으면됩니다. 이 줄은 색상 섹션을 제거합니다 (첫 번째 코드 스 니펫의 my_theme_customize_register 함수 내에 배치).

$ wp_customize-> remove_section ( 'colors');

섹션, 컨트롤 또는 설정을 추가하면 매개 변수가 더 필요하므로 약간 다릅니다. 나는 두 가지 이유로 여기에서 모두 다루지 않을 것입니다.

  1. 이 시리즈의 목적이 실제로는 아닙니다. 대신 테마에 추가 할 수있는 테마 사용자 지정 보일러 플레이트를 만들 것입니다.
  2. Alex Mansfield는 이미 그의 6000 단어 괴물의 테마 사용자 정의 프로그램 학습서 모든 WordPress 테마 개발자가 읽은 다음 트윗해야합니다 (아직 그렇지 않은 경우 지금 읽어보십시오)..

그러나 여전히 새로운 테마 사용자 지정자 섹션의 컨트롤과 일부 인수를 사용하여 자신의 설정을 추가하는 방법을 살펴 보겠습니다. 실제 사례를 다루는 것이 훨씬 쉬우므로 다음은 다음과 같습니다.

  • ‘레이아웃’이라는 새 섹션
  • 테마 레이아웃을 저장하는 새로운 설정
  • 왼쪽의 사이드 바와 오른쪽의 사이드 바 두 가지 옵션이있는 새로운 라디오 컨트롤

테마 사용자 정의 프로그램에 추가해야 할 첫 번째 사항은“레이아웃”섹션입니다.

$ wp_customize-> add_section (
// 아이디
'layout_section',
// 인수 배열
정렬(
'title'=> __ ( '레이아웃', 'my_theme'),
'capability'=> 'edit_theme_options',
'description'=> __ ( '테마의 레이아웃을 편집 할 수 있습니다.', 'my_theme')
)
);

맞춤 설정 도구에서 아직 보려고하지 마십시오. 설정과 컨트롤이 추가되어 있지 않으면 섹션이 표시되지 않습니다. 두 가지를 모두 추가하겠습니다.

$ wp_customize-> add_setting (
// 아이디
'my_theme_settings [layout_setting]',
// 인수 배열
정렬(
'default'=> '오른쪽 사이드 바',
'type'=> '옵션'
)
);
$ wp_customize-> add_control (
// 아이디
'layout_control',
// 인수 배열
정렬(
'type'=> '라디오',
'label'=> __ ( '테마 레이아웃', 'my_theme'),
'section'=> 'layout_section',
'choices'=> 배열 (
'left-sidebar'=> __ ( '왼쪽 사이드 바', 'my_theme'),
'right-sidebar'=> __ ( '오른쪽 사이드 바', 'my_theme')
),
//이 마지막은 위에서 설정 ID와 일치해야합니다.
'settings'=> 'my_theme_settings [layout_setting]'
)
);

Alex의 자습서 및 / 또는 코덱스 페이지를 읽었다 고 가정하면 add_setting 인수 배열 ( ‘type’)에 중점을두고 싶은 매개 변수는 하나뿐입니다. 여기에는‘옵션’과‘theme_mod’의 두 가지 가능성이 있으며 다음을 사용하여 검색 할 수 있습니다. get_optionget_theme_mod, 각기. 테마 설정 값을 다음과 같은 ID를 부여하여 직렬화 할 수 있기 때문에 항상 ‘옵션’을 사용합니다. my_theme_settings [setting_1], my_theme_settings [setting_2] 이렇게하면 모든 값이 wp_options 테이블에 하나의 데이터베이스 항목으로 저장됩니다..

마지막으로이 두 코드 스 니펫을 추가 한 후 customize_register 액션 훅 (이 포스트의 첫 번째 코드 스 니펫), Theme Customizer는 다음과 같이 사용자 정의되었습니다.

테마 사용자 정의 프로그램에 새 섹션이 추가되었습니다.

테마 사용자 정의 프로그램에 새 섹션이 추가되었습니다.

테마에서 테마 사용자 정의 프로그램 설정 값 사용

사용자에게이 설정을 저장할 수있는 권한을 부여한 후 값을 가져 와서 body_class 후크를 필터하고 기존 바디 클래스의 배열에 추가하십시오.

add_filter ( 'body_class', 'my_theme_body_classes');
함수 my_theme_body_classes ($ classes) {

/ *
* add_setting 인수 배열에서 'option'을 사용했기 때문에
* get_option 함수를 사용하여 값을 검색합니다
* /
$ my_theme_settings = get_option ( 'my_theme_settings');

$ classes [] = $ my_theme_settings [ 'layout_setting'];

$ classes를 반환;

}

테마의 바디 클래스 배열에 .left-sidebar 또는 .right-sidebar가 추가됩니다. 테마의 style.css 파일에서이 두 클래스를 사용하면 서로 다른 두 가지 레이아웃을 만들 수 있습니다. 예를 들면 다음과 같습니다.

/ * 오른쪽의 사이드 바는 기본 레이아웃입니다. * /
#content {
왼쪽으로 뜨다;
폭 : 60 %;
}
#sidebar {
플로트 : 오른쪽;
폭 : 30 %;
}

/ * .left-sidebar 클래스를 사용하여 기본 레이아웃 재정의 * /
.왼쪽 사이드 바 #content {
플로트 : 오른쪽;
}
.왼쪽 사이드 바 # 사이드 바 {
왼쪽으로 뜨다;
}

무엇보다도 WordPress Theme Customizer 덕분에 사용자는 저장하기 전에 두 레이아웃을 모두 미리 볼 수 있습니다. 테마 설정 페이지!

요약 및 추가 자료

TL;이 게시물의 DR 버전은 다음과 같습니다. $ wp_customize 객체를 얻은 다음 무언가 (섹션, 설정 또는 제어)를 추가하거나 제거 할 수 있습니다. 그 밖의 모든 것은 설정 매개 변수로 귀결됩니다..

3 부에서는 전체 프로세스를 자동화하고 테마 사용자 지정 보일러 플레이트 작업을 시작하여 테마에 빠져 들어 바로 사용할 수있게되면서이 시리즈가 흥미로워집니다. 계속 지켜봐 주시기 바랍니다!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me