Saat mengembangkan tema yang dipersonalisasi atau bekerja dengan tema anak, orang mungkin perlu menghapus atau menyembunyikan beberapa karakteristik gaya, apakah itu blok pusat tunggal atau variasi gaya seluruh tema.
Ini bukan hanya masalah preferensi. Ini sering melibatkan keunggulan praktis, seperti kinerja yang lebih baik, desain yang lebih koheren dan antarmuka pengguna yang lebih sederhana.
Pendekatan yang diadopsi untuk mencapai tujuan ini bervariasi dan bergantung pada kebutuhan dan keterampilan pengembang. Untuk contoh yang ditunjukkan dalam artikel ini, kami bekerja dengan tema anak-anak oleh dua puluh lima puluh (TT5), tema blok WordPress modern.
Deregstraction tergantung pada cara pendaftaran dilakukan
Untuk tujuan kami, ketika kami merujuk pada deregulasi variasi gaya blok atau tema, kami membedakan antara penghapusan lengkap dan parsial dan jika variasi dihapus sepenuhnya atau hanya disembunyikan oleh antarmuka. Perbedaannya penting.
Untuk memahami cara menderegis blok, perlu untuk mengetahui bagaimana itu dicatat. Misalnya, blok inti yang direkam dalam JavaScript lebih baik untuk menderegisnya dalam bahasa yang sama. Sebaliknya, variasi gaya tema dicatat dalam PHP dan oleh karena itu mungkin perlu mengikuti pendekatan yang berbeda.
Deregulasi blok yang dipersonalisasi tidak termasuk dalam artikel ini dan pendekatannya akan tergantung pada cara blok -blok ini awalnya direkam.
Apa variasi gaya?
WordPress membedakan antara blok gaya blok dan variasi dalam gaya tema. Gaya blok adalah alternatif visual dari blok tertentu, seperti gaya “pengisian” atau “garis besar” dari blok tombol. Variasi gaya blok direkam dalam inti, dalam theme.json
Di block.json
atau di plugin.
Variasi gaya tema, di sisi lain, adalah seluruh alternatif visual yang mencakup warna, tipografi, dan tata letak yang didefinisikan dalam satu file tunggal theme.json
. Ini memungkinkan pengguna untuk beralih dari satu aspek ke aspek lain (kulit) situs tanpa mengubah tema. TT5 dilengkapi dengan delapan variasi gaya selain gaya default.
Langkah pertama: untuk melawan skrip
Karena kami bekerja dengan tema anak, kami harus berhati -hati untuk memasukkan skrip dengan benar.
Konfigurasi ini memungkinkan kami ke file yang dipersonalisasi kami unregister-blocks.js
.
// Enqueue Parent and Child Styles
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_uri(),
['parent-style'],
wp_get_theme()->get('Version')
);
});
// Enqueue styles in the WordPress admin
add_action('admin_enqueue_scripts', function () {
wp_enqueue_style(
'child-admin-style',
get_stylesheet_uri(),
[],
wp_get_theme()->get('Version')
);
});
// Enqueue JavaScript for block editor
add_action('enqueue_block_editor_assets', function () {
wp_enqueue_script(
'unregister-core-blocks',
get_stylesheet_directory_uri() . '/js/unregister-blocks.js',
['wp-blocks', 'wp-dom-ready', 'wp-edit-post'],
null,
true
);
});
Kami memiliki file javascript di alamat js/unregister-blocks.js
yang mencakup semua skrip kami.
Kami tidak menggunakan get_template_directory_uri()
Untuk file JavaScript, karena bertujuan pada tema utama.
Timpisme adalah segalanya
Mengetahui kapan kait aktif adalah fundamental saat bekerja dengan PHP di WordPress. Anda harus mengetahui urutan pemuatan dasar, yang dimulai wp-settings.php
:
- Konstan
- Global
- Komponen utama
- Memuat plugin
- Mengunggah temanya
Menemukan titik yang tepat di mana fungsi yang dipersonalisasi harus dilakukan adalah salah satu bagian paling sulit dalam pengembangan WordPress.
Deregistraction dari gaya blok inti
Kami mempertimbangkan situasi di mana kami ingin menghapus gaya blok inti. Dalam hal ini, kami ingin menghapus gaya tombol blok tombol.
Karena gaya pengisian dan garis besar tombol direkam dalam file theme.json
TT5, kami menggunakan JavaScript untuk mengelola proses.
wp.domReady(() => {
if (wp.blocks && wp.blocks.unregisterBlockStyle) {
wp.blocks.unregisterBlockStyle('core/button', 'outline');
}
});
Hasilnya adalah penghapusan gaya kontur di bilah alat dan di bilah samping.
Deregistrasi blok inti
Misalkan kita ingin menghapus semua gaya blok. Pendekatan yang lebih rasional adalah untuk menderegis blok (atau blok). Ini Slims Panel Penyisipan dengan Menghapus Blok yang Kami Tidak Ingin Digunakan Oleh Pengguna dan Meningkatkan Kinerja.
Dalam hal ini, blok kutipan dihapus.
wp.domReady(() => {
wp.blocks.unregisterBlockType('core/quote');
});
Apa yang terjadi jika skrip dilakukan setelah blok kuota sudah digunakan? WordPress menunjukkan pesan “Blok ini tidak lagi tersedia” di editor, tetapi konten terus ditampilkan di front-end. Pengguna dapat secara manual mengubah atau mengonversi tampilan HTML mentah di mana blok ditampilkan.

Kita dapat membiarkannya apa adanya atau mengubahnya menjadi HTML untuk mempertahankan konten dan gaya.
Apa yang harus dilakukan untuk menghapus lebih dari satu blok? Dalam contoh ini, kami menghapus blok saham dan tajuk dengan melakukan siklus asing:
wp.domReady(() => {
const blocksToRemove = [
'core/quote',
'core/heading',
];
blocksToRemove.forEach((blockName) => {
if (wp.blocks.getBlockType(blockName)) {
wp.blocks.unregisterBlockType(blockName);
}
});
});
Skrip ini memungkinkan Anda untuk dengan mudah menghapus blok lain jika perlu.

Deregist Variasi dalam gaya tema
Keindahan variasi gaya dalam tema blok adalah bahwa mereka tidak perlu direkam, seperti yang telah dilakukan di masa lalu dengan ekstensi WordPress lainnya.
Mereka secara otomatis dikenali oleh inti hanya dengan memasukkan file theme.json
Diformat dengan benar di folder utama tema anak atau di folder /styles
.
Sangat mudah untuk berpikir bahwa suatu fungsi diperlukan untuk menderegis variasi gaya, tetapi blok tema bekerja secara berbeda.
Seperti halnya gaya blok, tidak ada antarmuka default untuk menghapus variasi gaya yang tidak diinginkan.
Mari kita mulai dengan metode paling sederhana dan lanjutkan. Apa yang membuat variasi dalam gaya begitu mudah untuk “merekam” atau menambah tema blok adalah persis apa yang membuatnya sangat sulit untuk “deregist mereka”. Tapi kami memiliki beberapa kemungkinan.
Hapus variasi dalam gaya tema
Ada beberapa cara untuk menghapus variasi gaya Malam dalam tema blok seperti TT5.
Jika Anda tidak menggunakan tema anak, opsi paling langsung adalah menghapus file .json
Koresponden dari tema induk. Misalnya, dengan menghapus 01-evening.json
dari folder /styles
Hapus variasi malam sepenuhnya.
Namun, operasi ini tidak disarankan karena file mungkin akan kembali ke pembaruan tema berikutnya.
Metode yang lebih baik dan lebih aman adalah menggunakan tema anak dan menimpa variasi gaya. Kita dapat melakukannya dengan membuat file kosong di jalur yang sama dengan nama yang sama. Untuk menimpa 01-evening.json
Tambahkan file kosong yang dipanggil 01-evening.json
di dalam folder /styles
Del Child Theme.
Pendekatan ini tidak benar -benar “membatalkan” variasi, tetapi menetralkannya. WordPress masih mengenali file tersebut, tetapi karena tidak mengandung pengaturan, varian menjadi tidak terlihat di antarmuka pengguna dan tidak berfungsi. Override ini hanya berfungsi karena tema anak dimuat setelah masalah induk, jadi baik untuk memeriksa bahwa tema anak dikonfigurasi dengan benar.
Sembunyikan variasi dengan CSS
Solusi lain terdiri dari menyembunyikan variasi gaya dari antarmuka pengguna menggunakan CSS. Ini tidak menghapusnya dari memori atau dari yang lain dan tidak mengurangi jejak front-end, tetapi mencegah pengguna memilihnya di editor situs.
Berikut adalah contoh untuk menyembunyikan varian malam:
/* Hide specific global style variations in the Site Editor */
.edit-site-global-styles-variations_item[data-slug="morning"],
.edit-site-global-styles-variations_item[data-name="evening"],
.edit-site-global-styles-variations_item[title="Evening"],
.edit-site-global-styles-variations_item[aria-label*="Evening"] {
display: none !important;
opacity: 0 !important;
pointer-events: none !important;
}
Ini berfungsi di panel Editor > Gaya > Jelajahi gaya. Jika pengguna sebelumnya mengaktifkan varian malam, ini masih akan diterapkan, tetapi tidak akan dapat naik.
Sembunyikan varian dengan JavaScript
Kami juga dapat menggunakan JavaScript untuk menyembunyikan variasi, disuntikkan melalui PHP menggunakan wp_add_inline_script
. Ini adalah sedikit peretasan, mengingat bahwa variasi gaya dicatat dalam PHP, tetapi kadang -kadang itu adalah satu -satunya cara praktis untuk memanipulasi antarmuka pengguna dengan cara yang dapat diandalkan.
Berikut adalah contoh yang berfungsi:
// Inject JS to hide specific style variations in the Site Editor UI
add_action('enqueue_block_editor_assets', function () {
wp_add_inline_script(
'unregister-core-blocks',
<< {
const interval = setInterval(() => {
document.querySelectorAll(
'[aria-label*="Noon"], [title*="Evening"], [data-name="noon"], [data-slug="evening"]'
).forEach(el => {
el.style.display = 'none';
});
}, 500);
// Stop the interval after 5 seconds
setTimeout(() => clearInterval(interval), 5000);
});
JS
);
});
Script ini menunggu pemuatan DOM, kemudian memindai dan berulang kali menyembunyikan variasi selama beberapa detik. Ini rapuh (karena tergantung pada waktu dan nama kelas), tetapi berfungsi ketika kita perlu menekan variasi spesifik tanpa menyentuh sistem file.
Ringkasan
Menjaga situs tetap bersih dan tanpa elemen yang tidak digunakan meningkatkan pengalaman pengguna dan, dalam banyak kasus, kinerja situs.
Contoh kami memberikan pendekatan yang diuji untuk deregulasi variasi gaya. Kami berharap mereka juga memberikan ide untuk memahami mengapa Deregistrazione dapat membangkitkan kebingungan.
Apakah Anda mencari hosting WordPress yang cepat dan andal untuk membangun dan menguji topik yang dipersonalisasi? Kinsta menawarkan pengembang, lingkungan pementasan, dan infrastruktur yang dioptimalkan untuk mendukung pekerjaan Anda dari fase pengembangan lokal hingga produksi.
News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door
Situs berita olahraga khusus sepak bola adalah platform digital yang fokus menyajikan informasi, berita, dan analisis terkait dunia sepak bola. Sering menyajikan liputan mendalam tentang liga-liga utama dunia seperti Liga Inggris, La Liga, Serie A, Bundesliga, dan kompetisi internasional seperti Liga Champions serta Piala Dunia. Anda juga bisa menemukan opini ahli, highlight video, hingga berita terkini mengenai perkembangan dalam sepak bola.