Cara Menggabungkan File CSS WordPress

4 Sep. 201055 comments

Cascading Style Sheets atau CSS adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup atau suatu metode atau cara yang digunakan untuk mengatur tampilan suatu halaman website atau situs, seperti tata letaknya, jenis font, warna font, pengaturan background, pengaturan navigasi dan masih banyak lagi. Dengan menggunakan methode CSS ini kita bisa dengan mudah mengubah sebagian atau keseluruhan tampilan dari sebuah website sehingga  menjadi enak dilihat dan mudah navigasinya.

Untuk metode pemasangannya ada beberapa cara, yaitu External Style Sheet (file CSS ditempatkan terpisah atau di luar file HTML), Internal Style Sheet (Kode CSS dipasang di dalam tag head HTML) dan Inline Style Sheet (Kode CSS langsung dipasang di tag HTML). Untuk blog wordpress hampir semua theme yang digunakan memakai cara pertama (External Style Sheet).

Theme pada blog wordpress ada yang menggunakan satu buah file CSS namun ada juga yang menggunakan beberapa file CSS sesuai tujuan dan kegunaannya. Tujuan adanya pemisahan file css adalah untuk memudahkan dalam pengeditan sesuai dengan jenis kegunaannya, namun mempunyai kelemahan dari sisi kecepatan akses atau waktu loading karena akan menambah jumlah recources atau menambah jumlah http request. Salah satu cara untuk mengoptimalkannya (mengurangi jumlah http request), kita bisa menggabungkan beberapa file css yang kita gunakan sekaligus mengkompresnya secara otomatis dengan fungsi PHP.

Cara Menggabungkan File CSS WordPress :

1. Buka semua file css yang ada di folder theme yang digunakan, kemudian tempatkan kode berikut di masing-masing file css tersebut (di bagian paling atas).

<?php header("Content-type: text/css"); ?>

2. Buat file php (ekstensi php) di folder yang sama dengan file css ditempatkan pada theme yang anda gunakan, bisa lewat Cpanel atau FTP. Nama file terserah anda, misalnya style.css.php kemudian isi dengan kode berikut ini (sudah saya sertakan kode untuk Cache-Control, expires header, fungsi kompresi dan penggabungan file css :

<?php
ob_start("ob_gzhandler");
ob_start("compress");
// required header info and character set
header("Content-type: text/css; charset: UTF-8");
// duration of cached content (Cache for 1 weeks)
$offset = 60 * 60 * 24 * 7;
$ts = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
// cache control to process
header ('Cache-Control: max-age=' . $offset . ', must-revalidate');
//set etag-header
header('ETag: "'.md5($ts).'"');
// expiration header format
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s",time() + $offset) . " GMT";
// send cache expiration header to browser
header($ExpStr);
// initialize compress function for white-space removal
ob_start("compress");
// Begin function compress
function compress($buffer) {
// remove comments
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
// remove tabs, spaces, new lines, etc.
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
// remove unnecessary spaces
$buffer = str_replace('{ ', '{', $buffer);
$buffer = str_replace(' }', '}', $buffer);
$buffer = str_replace('; ', ';', $buffer);
$buffer = str_replace(', ', ',', $buffer);
$buffer = str_replace(' {', '{', $buffer);
$buffer = str_replace('} ', '}', $buffer);
$buffer = str_replace(': ', ':', $buffer);
$buffer = str_replace(' ,', ',', $buffer);
$buffer = str_replace(' ;', ';', $buffer);
return $buffer;}
require_once('style.css');
require_once('style1.css');
require_once('style2.css');
ob_end_flush();
?>

Silahkan ganti style.css, style1.css, dan style2.css dengan nama file-file css yang anda gunakan. Jika file css hanya satu buah cukup dengan kode require_once(‘style.css‘);

Kode di atas digunakan untuk server apache yang telah mengaktifkan kompressi dengan deflate module loaded. Untuk server yang tidak mengaktifkan module tersebut bisa menggunakan alternatif lain dalam menggunakan fungsi kompresinya yaitu dengan ZLIB kompressi, caranya bisa dilihat di postingan saya sebelumnya, Mempercepat Loading WordPress dengan Zlib Compression. Jika kompresinya menggunakan ZLIB silahkan hapus kode ini :

ob_start("ob_gzhandler");
ob_start("compress");

3. Buka file header.php yang ada di folder theme yang digunakan, kemudian ganti ektensi file css untuk url stylesheet dari style.css menjadi style.css.php

Cara lain dalam mengoptimasi file css yaitu kita bisa menggunakan file css yang berbeda untuk halaman utama (home), untuk postingan, archive, dan kategori, sehingga file css yang ditampilkan betul-betul sesuai dengan yang dibutuhkan (ukuran file css menjadi lebih ringkas). Misalkan pengaturan css untuk komentar pasti tidak dibutuhkan ketika pengunjung membuka halaman utama (home), atau sebaliknya fungsi css untuk pengaturan penomoran halaman (paging) hanya dibutuhkan di halaman utama (home), kategori/tag, archive dan halaman hasil pencarian atau search. Caranya .. ? tunggu postingan berikutnya.

Artikel Yang Mungkin Berkaitan :

  1. Border Style, Border Width, Border Color
  2. Cara Membuat Tampilan Postingan Yang Berbeda-beda
  3. Membuat Text Gradient Dengan CSS
  4. Menggulingkan Top Komentator
  5. Membuat Menu Navigasi Dengan CSS3
  6. Cara Menggunakan File CSS Yang Berbeda Untuk Home, Single Dll
  7. Main Remi Bersama Top Komentator
  8. Custom CSS Per Post
  9. CSS Image Sprites Generator
  10. CSS3, Sonic Mengejar Bola
  1. 4-9-2010 at 02:04 | #1

    Nambah ilmu, tp masih takut salah untuk dipraktekkan…. nyoba di blog lain dulu, klo salah2 bukan blog utama….
    thnx mz alwi

    Reply

    Alwi Reply:

    Bisa dicoba server lokal dulu …

    Reply

    belajar psikologi Reply:

    mau tanya nih maz, apa ada efek negatif jika file css yang validate dan yang error? saya biasanya cek di [http://validator.w3.org] punya saya masih ada yg error tp punya mas alwi tidak ada yg error, kemudian bagaimana cara mengatasi file css yang error tsb?

    Reply

    toko barcode Reply:

    kalau server lokal nggak beresiko ya kang?

    Reply

  2. 4-9-2010 at 05:13 | #2

    Tpi sayang bang saya memakai wp.com, nmun da jga blog saya yg satu ny lg berplatform wp.org… Tp masih rada2 tkut utk mncoba nya….hehe :D

    Reply

    toko barcode Reply:

    iyah saya juga pake gratisan dot com

    Reply

  3. 4-9-2010 at 08:34 | #3

    hm… kereen..
    musti konsentrasi nih bacanya… biar ngerti… jidat dah berkerut-kerut,neh…

    Reply

    Hybrid car Reply:

    Plus mata melotot…

    Reply

    toko barcode Reply:

    asal jangan sampe cepat tua karena jidat berkerut terus

    Reply

  4. 4-9-2010 at 09:24 | #4

    yang kayak gini ini yang aku suka dari Bang Alwi… :D

    Reply

    toko barcode Reply:

    iya aku juga suka sekali

    Reply

  5. 4-9-2010 at 09:31 | #5

    aku udah nyoba, tapi ternyata coding yang aku dapet dari bLog lain masih sederhana, ga seLengkap punya Bang Alwi ini:

    ob_start (“ob_gzhandler”);
    header(“Content-type: text/css; charset: UTF-8″);
    header(“Cache-Control: must-revalidate”);
    $offset = 60 * 60 ;
    $ExpStr = “Expires: ” .
    gmdate(“D, d M Y H:i:s”,
    time() + $offset) . ” GMT”;
    header($ExpStr);

    Reply

    Alwi Reply:

    Durasi expire-nya saya buat 1 Minggu $offset = 60 * 60 * 24 * 7; itu rekomendasi PageSpeed dari Google, lagian gak tiap hari edit CSS, tapi kalau sering edit CSS bisa juga diseting 1 jam $offset = 60 * 60 ; atau 1 hari $offset = 60 * 60 * 24 ;

    Reply

  6. 4-9-2010 at 09:35 | #6

    apa wp-minify juga punya metode yang sama, Bang?

    Reply

    Alwi Reply:

    metodenya mirip2 cuman codingnya sedikit beda, yg wp minify setau saya kompresinya hanya pakai deflate/gzip dan blm suport yg ZLIB, terus ekstensi url stylesheet yang dihasilkan di header, versi pluginnya masih ikut menginjeksi, yaaa itu kan haknya pembuat dan pengembang plugin itu, bisa sih dimodif sendiri dg menghilangkannya sehingga jadi clean, tapi khawatir dianggap melanggar etika, makanya sekarang suka cara manual, rada ribet memang tapi lebih puassssssss …..

    Reply

  7. 4-9-2010 at 11:18 | #7

    Satu lagi nih script yang bikin pusing…. hehe…

    Reply

    Alwi Reply:

    Ntar lama2 jadi ketagihan kok ….

    Reply

    Hybrid car Reply:

    hehe…. mudah2 an saja bung alwi….

    Reply

    toko barcode Reply:

    ketagihan tuh, asal jangan lupa daratan

    Reply

    Hybrid car Reply:

    Memang script bisa bikin lupa daratan ya ?

    Reply

  8. 4-9-2010 at 13:09 | #8

    Thanks neh Mas Ilmunya, nyoba kalo da waktu…

    Reply

    mesin kasir Reply:

    kalo nyoba bilang bilang , di share gitu

    Reply

  9. 5-9-2010 at 07:41 | #9

    sip. menemukan tutorial yang mungkin ada dalam bayangan untuk mencobanya mas. Trims sekali :)

    Reply

  10. 5-9-2010 at 11:30 | #10

    info yang sangat bagus sekali untuk di share , tapi masih bingung mau nyobanya

    Reply

Comment pages
1 2 3 4 2006
4+7=? (Wajib diisi)