The add_image_size( $name, $width, $height, $crop )Fungsi cukup anggun untuk menangani beberapa panggilan menggunakan yang sama $name. Itu hanya menimpa nilai yang ada :
$_wp_additional_image_sizes[$name] = array( 'width' => absint( $width ), 'height' => absint( $height ), 'crop' => (bool) $crop );
Jadi itu berarti semua yang perlu Anda lakukan untuk mengganti definisi Tema induk dari ukuran gambar khusus adalah untuk memastikan bahwa panggilan Anda akan add_image_size()diaktifkan setelah panggilan Tema induk .
Dengan asumsi bahwa Tema Orangtua suka:
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' );
Kemudian add_image_size()panggilan Tema orangtua diaktifkan di after_setup_themehook, pada prioritas default (yaitu 10).
(Catatan: jika panggilan tidak dibungkus dengan panggilan balik, maka panggilan akan menjadi plugins_loadedprioritas utama 10.)
Inilah bagian penting: file Tema anak functions.phpdiurai sebelum Tema orangtua , jadi jika Anda menggunakan kait yang sama untuk memecat add_image_size()panggilan Anda , mereka akan ditimpa oleh add_image_size()panggilan Tema induk .
Solusinya adalah dengan menggunakan pengait yang lebih baru atau prioritas yang lebih rendah , untuk memastikan bahwa add_image_size()panggilan Tema anak menyala setelah Tema induk.
Ini harus melakukan trik, terlepas dari bagaimana Tema induk mengeluarkan panggilannya:
function child_theme_setup() {
add_image_size( 'name', 400, 300, true );
}
add_action( 'after_setup_theme', 'child_theme_setup', 11 );
Perhatikan bahwa kami menggunakan after_setup_themepengait yang sama , tetapi menggunakan prioritas yang lebih rendah (yaitu 11alih-alih 10. Callback diaktifkan secara berurutan dari prioritas yang lebih tinggi (angka yang lebih rendah) ke prioritas yang lebih rendah (angka yang lebih tinggi), dimulai dengan prioritas 0. Jadi panggilan balik yang dikaitkan dengan prioritas 11akan diaktifkan setelah panggilan balik yang diprioritaskan 10.
Perhatikan juga bahwa after_setup_themekait itu sendiri kebakaran setelah itu plugins_loadedhook, sehingga callback ini masih akan menimpa orang tua Tema, bahkan jika orang tua Theme adalah _doing_it_wrong()dengan tidak membungkus panggilan tersebut dalam callback yang tepat, ketagihan menjadi kait yang sesuai.
add_image_size()panggilan hanya duduk telanjangfunctions.php, atau mereka dibungkus dengan benar dalam panggilan balik, dan dihubungkanafter_setup_theme? Mengetahui mana yang penting untuk menjawab pertanyaan Anda.