Kategoriler
CSS PHP

CSS (Style) Dosyasına PHP Kodu Eklemek

Oldukça fantastik ve gereksiz gibi gözükse de geliştirdiğim Colyper temasında çok fazla kullandığım ve artık hemen her işimde kullanmaya başladığım bir yöntem; CSS dosyasında PHP kodları ile çalışmak. Aslında CSS içerisinde yaptığımız PHP işlemlerini daha mantıklı ve farklı yollardan da yapabiliriz fakat buda bir yöntem olması açısından göstermek istedim.

Eğer WordPress temanıza uygulayacaksanız, “style.css” dosyanızı koruyun ve içerisinde şu tema tanımlama bölümü kalsın:

/*
Theme Name: Colyper
Theme URI: http://colyper.granatheme.com
Description: Kişisel bloglar için hazırlanmış, en yeni web teknolojilerini içeren ve WordPress alt yapısını destekleyen, mobil uyumlu bir WordPress temasıdır.
Version: 1.0
Author: Grana Themes
Author URI: http://granathemes.com/
Tags: kişisel, blog, 2 kolon, responsive, renkli
*/

Aksi takdirde WordPress, temanın stil dosyası eksik diyerek çalıştırmayacaktır.

Bu dosyayı koruduktan ve içerisindeki stil kodlarını aldıktan sonra “style.php” diye bir dosya oluşturun ve stil kodlarınızı içerisine yapıştırın. (Eğer WordPress sitenizde uygulamayacaksanız yukarıdaki tema tanımlama kısmını tutmanıza gerek yok, direkt style.css dosyanızı style.php olarak değiştirebilirsiniz.)

Ardından “style.php” dosyanızın en üstüne şu kodları ekleyin:

<?php
	ob_start ("ob_gzhandler");

 	$absolute_path = explode('wp-content', $_SERVER['SCRIPT_FILENAME']);
 	$wp_load = $absolute_path[0] . 'wp-load.php';
 	require_once($wp_load);

	header("Content-type: text/css; charset: UTF-8");
?>

Eğer siteniz WordPress değilse 4, 5 ve 6. satırdaki kodları yazmanıza gerek yok. Eklediğimiz bu kod sayesinde ayrıca stil dosyamızı da sıkıştırmış ve daha hızlı çalışmasını sağlamış oluyoruz.

Son olarak header’inizdeki stil dosyasının tanımlandığı satırı da şu şekilde güncelleyin:

<link rel="stylesheet" type="text/css" href="style.php" />

Örnek bir “style.php” dosyası göstermek gerekirse:

<?php
	ob_start ("ob_gzhandler");

 	$absolute_path = explode('wp-content', $_SERVER['SCRIPT_FILENAME']);
 	$wp_load = $absolute_path[0] . 'wp-load.php';
 	require_once($wp_load);

	header("Content-type: text/css; charset: UTF-8");

    // Ayarlar
    $link_color_hover = "#105ECF";
    $options_4 = get_option('options_4');
?>
a:hover{color:<?php echo $link_color_hover; ?>;}
#sidebar{<?php if($options_4 == "hayir"){echo "display:none;";} ?>}

Burada hem linklerin üzerine geldiğinde değişecek rengi hemde options_4 değişkeninin değeri “hayir“a eşitse, #sidebar‘ı gösterme şeklinde çalışan bir komut girdik.

Sizde bu ve bunun gibi sorgulamalarınızı CSS ile çok kolay bir şekilde yapabilirsiniz.

“CSS (Style) Dosyasına PHP Kodu Eklemek” için 4 yanıt

aynı yöntem aklıma geldi ama tarayıcı uyumluluğu ve standartlara uygun bir iş olmadığına kanaat getirdim. legal bir yol değil yani. dikkat ederseniz öğeyi denetle dediğinizde sizin css verilerini style.php nizden çekmiyor. Aksine sayfanıza gömülü kodlaması yapılmış gibi görüyor tarayıcılar.

PHP konusunda kendimi geliştirme amacıyla bir blog scripti yapıyordum, tam olarak böyle bir şeye ihtiyacım vardı, güzel oldu buna denk geldiğim, teşekkürler Sinan 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.