• 05-09-2021, 13:06:43
    #1
    Temaya ana sayfa görünümü için 4 farklı kolon seçeneği sundum ve seçilen ayara göre CSS class'ları tanımlayıp ilgili alana yazdırdım. Kod aşağıdaki gibi.

                <?php
                if 
                ( get_theme_mod('number_home_page_columns') == 'one-column' ) {
                    $class = 'col-sm-12'; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'two-columns' ) {
                    $class = 'col-sm-6'; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'three-columns' ) {
                    $class = 'col-sm-6 col-lg-4'; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'four-columns' ) {
                    $class = 'col-sm-6 col-md-4 col-lg-3'; }
                else { $class = 'col-sm-6 col-lg-4'; }
                ?>
    Bu koda ek olarak one-column seçildiğinde 2 farklı yere daha farklı class değerleri eklemem gerekti, aşağıdaki gibi image_class ve class_content seçeneklerini ekledim ancak diğerlerinde bu değer olmadığı için hata alıyorum. Bu işlemin sağlıklı kodlanışı nasıl olur? Diğerlerine de boş image_class ve class_content eklemem mi gerekiyor?

                <?php
                if 
                ( get_theme_mod('number_home_page_columns') == 'one-column' ) {
                    $class = 'col-sm-12';
                    $image_class = 'col-sm-6 ';
                    $class_content = 'col-sm-6 '; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'two-columns' ) {
                    $class = 'col-sm-6'; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'three-columns' ) {
                    $class = 'col-sm-6 col-lg-4'; }
                elseif 
                ( get_theme_mod('number_home_page_columns') == 'four-columns' ) {
                    $class = 'col-sm-6 col-md-4 col-lg-3'; }
                else { $class = 'col-sm-6 col-lg-4'; }
                ?>
  • 05-09-2021, 13:17:48
    #2
    Kısa yoldan yapmak isterseniz image_class ve class_content'leri nerede kullanıyorsanız başına @ koyun. Hatayı bastırır bu kod.

    Ama olması gerekn şudur; image_class ve class_content'leri

    $image_class ? $image_class : null;
    
    $class_content ? $class_content : null;
    Bu şekilde düzenlerseniz sorununuz çözülecektir.
  • 05-09-2021, 13:48:08
    #3
    FSahin adlı üyeden alıntı: mesajı görüntüle
    Kısa yoldan yapmak isterseniz image_class ve class_content'leri nerede kullanıyorsanız başına @ koyun. Hatayı bastırır bu kod.

    Ama olması gerekn şudur; image_class ve class_content'leri

    $image_class ? $image_class : null;
    
    $class_content ? $class_content : null;
    Bu şekilde düzenlerseniz sorununuz çözülecektir.
    <?php echo $image_class; ?>
    yerine
    <?php echo @$image_class; ?>
    Kullanınca dediğiniz gibi tanımsız değişken hatası vermiyor.

    Olması gereken ne ise onu yapmak daha iyi olur hocam, onu nasıl yapacağım anlamadım. Biraz daha açar mısınız?
  • 05-09-2021, 13:49:14
    #4
    <?php echo isset($image_class) ? $image_class : null; ?>
    Bu şekilde hata vermeden sorunsuz çalışması gerekiyor.
  • 05-09-2021, 13:53:17
    #5
    FSahin adlı üyeden alıntı: mesajı görüntüle
    <?php echo $image_class ? $image_class : null; ?>
    Bu şekilde hata vermeden sorunsuz çalışması gerekiyor.
    one-column haricinde hata veriyor hocam. Warning: Undefined variable $image_class in....
  • 05-09-2021, 13:58:59
    #6
    SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
    one-column haricinde hata veriyor hocam. Warning: Undefined variable $image_class in....
    Bir önceki mesajımı düzenledim. isset koymayı unutmuşum.
  • 05-09-2021, 15:07:10
    #7
    FSahin adlı üyeden alıntı: mesajı görüntüle
    Bir önceki mesajımı düzenledim. isset koymayı unutmuşum.
    Tamam hocam, teşekkür ederim.