Bagaimana cara menambahkan file css khusus dalam tema?

15

Beberapa tema meminta Anda untuk tidak mengedit file style.css, alih-alih gunakan file custom.css. Jika Anda menulis kode di custom.css, itu akan menimpa gaya elemen yang sama di style.css. Saya pikir ini dilakukan untuk mencegah hilangnya gaya pengguna pada pembaruan tema, begitu?

Bagaimana ini bekerja? Apakah mereka sudah memasukkan file custom.css dalam tema mereka? Tapi bagaimana file ini dimasukkan dalam theme sehingga ia mencari style di custom.css terlebih dahulu? Terima kasih.

jay
sumber
Jika orang yang mengajukan pertanyaan ini adalah bahasa Jerman maka hampir pasti "menimpa" berarti "menimpa". Saya berasumsi pertanyaannya tidak mengatakan bahwa menempatkan kode pada file custom.css akan menyebabkan file style.css dimodifikasi. Saya tidak mengatakan ini sebagai kritis, saya mengatakan bahwa saya bingung dan ini adalah pemahaman saya.
user34660

Jawaban:

1

Saya biasanya menambahkan potongan kode ini jika saya ingin menambahkan file css lain

<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/my_custom_css.css" type="text/css" media="screen" />

Saya percaya pembuat tema ingin mempertahankan sebanyak mungkin desain tata letak tema. Jadi file custom css tidak ada salahnya. Saya pikir ini lebih merupakan pertanyaan dukungan. Dengan file css khusus, pembuat dapat membantu mereka yang menggunakan tema mereka lebih mudah. Karena style.css asli tidak diubah, maka pembuat tema mungkin dapat melihat pada file css khusus.

Wai Wong
sumber
2
bukan praktik terbaik lagi - developer.wordpress.org
iantsch
@ iantsch kenapa tidak? Apa yang lebih baik? saya tidak bisa menemukan yang lebih baik.
Kangarooo
2
@ Kangarooo lihat jawaban yang diberikan oleh Fil Joseph: Enqueue skrip / gaya yang ingin Anda sertakan dalam header atau footer
iantsch
Dengan HTTP / 1, praktik terbaik adalah mengemas semua gaya dasar ke dalam satu file yang diperkecil, alih-alih menambahkan file CSS lain yang perlu diunduh dan diproses oleh browser.
Andy
dalam kasus saya, ini adalah solusi terbaik.
Kaya
27

Menggunakan @import di WordPress untuk menambahkan custom css bukan lagi praktik terbaik, namun Anda dapat melakukannya dengan metode itu.

praktik terbaik adalah menggunakan fungsi wp_enqueue_style()di functions.php.

Contoh :

wp_enqueue_style ('theme-style', get_template_directory_uri().'/css/style.css');
wp_enqueue_style ('my-style', get_template_directory_uri().'/css/mystyle.css', array('theme-style'));
Fil Joseph
sumber
1
Tambahkan ketergantungan orang tua style.css untuk memastikan Anda mystyle.cssdimuat setelah style.css!
Sumit
Saya mengerti bagian path, tetapi bagaimana dengan bagian pertama, 'theme-style' dan 'my-style', dapatkah saya menaruh sesuatu di sana? Dan bagaimana dengan di functions.php apa kode total untuk mendapatkan ini berfungsi?
Bruno Vincent
@ BrunoVincent Anda dapat memberi nama handleapa pun yang Anda inginkan, asalkan unik. Lihat doc
Fahmi
4

Aktifkan tema anak dan tambahkan kode contoh berikut di function.php

add_action( 'wp_enqueue_scripts', 'child_enqueue_styles');

function child_enqueue_styles() {

wp_enqueue_style( 'reset-style', get_template_directory_uri() . '/css/reset.css', array());
}
Abhishek KR
sumber
2

Proposal saya adalah menggunakan tema anak. Sangat mudah untuk diterapkan dan semua modifikasi yang Anda lakukan (termasuk gaya) sepenuhnya terisolasi dari tema aslinya.

pa
sumber
0

Untuk mencegah overwritting tema CSS atau file lainnya, Anda harus SELALU menggunakan tema anak di WordPress ... tidak melakukan hal itu hanya akan menyebabkan Anda mengalami sakit kepala dan masalah besar di kemudian hari.

https://codex.wordpress.org/Child_Themes

... dan betapa mudahnya mengatur tema anak, tidak ada alasan Anda tidak boleh menggunakannya.

Dengan menggunakan tema anak, Anda dapat mengganti file tema induk utama apa pun yang Anda inginkan, cukup dengan menyalin dari orangtua ke anak Anda, atau dengan membuat file baru dengan nama yang sama.

Mengenai custom.cssfile ada banyak cara yang pengembang tema menangani ini ... banyak dari mereka melakukan ini hanya untuk mencoba dan mencegah klien yang tidak ingin menggunakan tema anak, dari mengedit style.cssfile utama ....

Bagaimanapun Anda tidak perlu khawatir tentang hal itu, selama Anda menggunakan tema anak Anda tidak perlu khawatir tentang memperbarui tema Anda nanti dan kehilangan perubahan Anda ... biasakan selalu menggunakan tema anak, Anda akan berterima kasih padaku nanti, aku janji.

sMyles
sumber
0

Jika Anda ingin meninggalkan html Anda. Anda dapat menambahkan ini ke file css Anda. Saya pikir ini lebih baik.

@import url("../mycustomstyle.css");

juga tergantung pada tema Anda, itu akan bekerja dengan tema anak dan orang tua.

- perlu diingat, css bekerja berurutan (saat menggunakan tingkat pengidentifikasi yang sama, sudah digunakan), jadi apa yang terakhir dalam file Anda akan ditimpa. jadi letakkan impor gaya kustom di bagian bawah jika Anda ingin menimpa barang.

menyedihkan
sumber
css tidak bekerja secara berurutan, ia bekerja berdasarkan kekhususan aturan; itu hanya jatuh kembali untuk ditimpa sebelumnya sebelumnya ketika Anda memiliki aturan dengan spesifisitas yang sama
srcspider
Anda benar, dan itulah yang saya maksud. sekuensial saya merujuk pada penulisan ulang. bukan CSS secara keseluruhan.
woony
0

Cara terbaik adalah menggabungkan semua gaya enqueued ke dalam satu fungsi dan kemudian memanggil mereka menggunakan wp_enqueue_scriptsaksi . Tambahkan fungsi yang ditentukan ke functions.php tema Anda di suatu tempat di bawah pengaturan awal.

Blok Kode:

function add_theme_scripts() {
    wp_enqueue_style( 'style', get_template_directory_uri() . '/css/style.css' );
    wp_enqueue_style ( 'custom', get_template_directory_uri () . '/css/custom.css', array( 'style' ) );
}
add_action ( 'wp_enqueue_scripts', 'add_theme_scripts' );

Tolong dicatat :

Parameter ke-3 adalah array dependensi yang merujuk pada apakah stylesheet ini bergantung pada stylesheet lain atau tidak. Jadi, dalam kode kami di atas, custom.css bergantung pada style.css

|
Dasar Tambahan:
wp_enqueue_style() fungsi mungkin memiliki 5 parameter: seperti ini - wp_enqueue_style ( $ handle, $ src, $ deps, $ ver, $ media );
Dalam dunia nyata WP Coding, biasanya kita juga menambahkan file javascript / pustaka jQuery di dalam fungsinya seperti ini:

wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true);

Parameter 5 true / false adalah opsional (params ke-2, ke-3 dan ke-4 juga memilih.) Tetapi sangat penting, memungkinkan kita untuk menempatkan skrip kita di footer ketika kita menggunakan parameter boolean sebagai true.

perfeksionis1
sumber
0

Pergi ke Appearance> Edit CSS dari Dashboard WordPress Anda. masukkan deskripsi gambar di sini

Ini adalah layar dengan editor CSS dasar. masukkan deskripsi gambar di sini

Sekarang tempel CSS Anda langsung ke teks default. Anda dapat menghapus teks default sehingga CSS Anda hanya muncul di editor. Kemudian simpan stylesheet dan CSS Anda akan ditayangkan.

suthanalley
sumber
-2

Gunakan tema anak. Ini taruhan terbaik Anda. Dengan cara ini jika tema diperbarui, Anda tidak akan menimpa lembar gaya yang Anda buat.

https://codex.wordpress.org/Child_Themes

Pergi rute ini, Anda akan berterima kasih pada diri sendiri nanti.

thisisbolo
sumber
Itu tidak benar-benar menjawab pertanyaan. Anda mungkin ingin menjelaskan cara menambahkan stylesheet di Tema Anak itu.
kaiser