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_theme
hook, pada prioritas default (yaitu 10
).
(Catatan: jika panggilan tidak dibungkus dengan panggilan balik, maka panggilan akan menjadi plugins_loaded
prioritas utama 10
.)
Inilah bagian penting: file Tema anak functions.php
diurai 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_theme
pengait yang sama , tetapi menggunakan prioritas yang lebih rendah (yaitu 11
alih-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 11
akan diaktifkan setelah panggilan balik yang diprioritaskan 10
.
Perhatikan juga bahwa after_setup_theme
kait itu sendiri kebakaran setelah itu plugins_loaded
hook, 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.