이 add_image_size( $name, $width, $height, $crop )
함수는 동일한를 사용하여 여러 호출을 처리 할 수있을만큼 우아합니다 $name
. 단순히 기존 값을 덮어 씁니다 .
$_wp_additional_image_sizes[$name] = array( 'width' => absint( $width ), 'height' => absint( $height ), 'crop' => (bool) $crop );
당신이 필요로하는 모든 사용자 정의 이미지 크기의 부모 테마의 정의를 재정의 수행하는 것을 그 수단 있도록하는 것이 보장하는 것입니다 그 에게 전화 add_image_size()
화재 후 부모 테마의 호출 .
부모 테마가 그렇게한다고 가정하면 :
function parent_theme_setup() {
add_image_size( 'name', 500, 200, true );
add_image_size( 'new-name', 400, 300, true );
}
add_action( 'after_setup_theme', 'parent_theme_setup' );
그런 다음 상위 테마의 add_image_size()
호출 after_setup_theme
이 기본 우선 순위 (예 :)로 후크에서 시작됩니다 10
.
(참고 : 콜백으로 통화가 래핑 되지 않은 경우 plugins_loaded
우선 순위 에 따라 후크에서 시작됩니다 10
.)
중요한 부분은 다음과 같습니다. 하위 테마의 functions.php
파일이 상위 테마 보다 먼저 구문 분석 되므로 동일한 후크를 사용하여 add_image_size()
호출을 실행하면 상위 테마의 add_image_size()
호출로 대체됩니다 .
해결책은 상위 테마 이후에 하위 테마의 호출이 발생 하도록 나중에 후크 또는 낮은 우선 순위 를 사용하는 것 입니다.add_image_size()
부모 테마가 호출을 시작하는 방법에 관계없이 트릭을 수행해야합니다.
function child_theme_setup() {
add_image_size( 'name', 400, 300, true );
}
add_action( 'after_setup_theme', 'child_theme_setup', 11 );
동일한 after_setup_theme
후크를 사용하지만 우선 순위 가 낮은 우선 순위를 사용합니다 (즉 11
, 10
. 대신 우선 순위가 높은 우선 순위 (낮은 번호)에서 낮은 우선 순위 (높은 번호)까지 0
콜백 11
이 발생하므로 우선 순위에 연결된 콜백 은 이후에 실행됩니다. 우선 순위에 연결된 콜백 10
.
있음을 유의하십시오 after_setup_theme
후크 자체는 발사 후plugins_loaded
이 콜백은 여전히 부모 테마가있는 경우에도, 부모 테마를 오버라이드 (override) 할 수 있도록, 후크 _doing_it_wrong()
적절한 후크에 걸려 적절한 콜백 이러한 호출을 포장하지 않음으로써.
add_image_size()
통화가 방금 나란히 앉아 있습니까functions.php
, 아니면 콜백 안에 제대로 싸여져after_setup_theme
있습니까? 귀하의 질문에 답변하는 것이 무엇인지 아는 것.