• 03-08-2019, 21:46:48
    #1
    Merhabalar arkadaşlar, aşağıdaki kodlama ile wordpress üzerinde aslında istediğim şeyi tam olarak yaptırtabildim. Fakat biraz tekrar eden ve karmaşık türde oldu sanırım sayfanın yüklenmesine de etki ediyor olabilir.
    Bunu sadeleştirmek mümkün müdür? Yoksa bu kullanımım uygun mudur?

    Kod:

    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('windows', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-windows m-right-5 va-mid"></i> Windows</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('macos', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> macOS</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('unix', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-linux m-right-5 va-mid"></i> Unix</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('android', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-android m-right-5 va-mid"></i> Android</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('ios', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> iOS</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('tvos', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa- m-right-5 va-mid"></i> tvOS</span>'
    ?>
    <?php endif; ?>
    <?php
    
    // vars    
    $colors = get_field('platform_secimi');
    
    
    // check
    if( $colors && in_array('tarayici', $colors) ):
    echo '<span class="item"><i class="fab fas-1p5x fa-chrome m-right-5 va-mid"></i> Tarayıcı</span>'
    ?>
    <?php endif; ?>
  • 03-08-2019, 21:56:07
    #2
    Switch case yapısı sizi kurtarır

    $colors = get_field('platform_secimi');
    if(isset($colors)){
        $goodDevices = ['windows','macos','unix','android','ios','tvos','tarayici'];
    
        foreach ($goodDevices as $device){
            if(in_array($device,$colors)){
                $catchModule = CatchModule($device);
                echo $catchModule;
            }
        }
    
    }
    function CatchModule($colors){
        switch($colors){
            case 'windows':
                return '<span class="item"><i class="fab fas-1p5x fa-windows m-right-5 va-mid"></i> Windows</span>';
                break;
            case 'macos':
                return '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> macOS</span>';
                break;
            case 'unix':
                return '<span class="item"><i class="fab fas-1p5x fa-linux m-right-5 va-mid"></i> Unix</span>';
                break;
            case 'android':
                return '<span class="item"><i class="fab fas-1p5x fa-android m-right-5 va-mid"></i> Android</span>';
                break;
            case 'ios':
                return '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> iOS</span>';
                break;
            case 'tvos':
                return '<span class="item"><i class="fab fas-1p5x fa- m-right-5 va-mid"></i> tvOS</span>';
                break;
            case 'tarayici':
                return '<span class="item"><i class="fab fas-1p5x fa-chrome m-right-5 va-mid"></i> Tarayıcı</span>';
                break;
            default:
                return "Herhangi bir tarayıcı seçilmedi!";
                break;
        }
    }
  • 03-08-2019, 22:03:44
    #3
    mehmetiscod adlı üyeden alıntı: mesajı görüntüle
    Switch case yapısı sizi kurtarır
    $colors = get_field('platform_secimi');
    if(isset($colors)){
        switch($colors){
            case 'windows':
                echo '<span class="item"><i class="fab fas-1p5x fa-windows m-right-5 va-mid"></i> Windows</span>';
                break;
            case 'macos':
                echo '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> macOS</span>';
                break;
            case 'unix':
                echo '<span class="item"><i class="fab fas-1p5x fa-linux m-right-5 va-mid"></i> Unix</span>';
                break;
            case 'android':
                echo '<span class="item"><i class="fab fas-1p5x fa-android m-right-5 va-mid"></i> Android</span>';
                break;
            case 'ios':
                echo '<span class="item"><i class="fab fas-1p5x fa-apple m-right-5 va-mid"></i> iOS</span>';
                break;
            case 'tvos':
                echo '<span class="item"><i class="fab fas-1p5x fa- m-right-5 va-mid"></i> tvOS</span>';
                break;
            case 'tarayici':
                echo '<span class="item"><i class="fab fas-1p5x fa-chrome m-right-5 va-mid"></i> Tarayıcı</span>';
                break;
            default:
                echo "Herhangi bir tarayıcı seçilmedi!";
                break;
        }
    }
    Hocam ellerinize sağlık çok teşekkürler fakat seçimleri algılamadı sanırım direkt "Herhangi bir tarayıcı seçilmedi!" olarak göstermeye başladı bu sefer.
  • 03-08-2019, 22:12:16
    #4
    YavuzTR adlı üyeden alıntı: mesajı görüntüle
    Hocam ellerinize sağlık çok teşekkürler fakat seçimleri algılamadı sanırım direkt "Herhangi bir tarayıcı seçilmedi!" olarak göstermeye başladı bu sefer.
    Arkadaş gelen verinin array olduğunu fark etmemiş sanırım aslında yapmanız gereken tek şey spanları bir array atıp field isimlerini renk lerin isimi olarak tanımladığınızda geriye sadece bir fonksiyon oluşturup içinde aramak kalır.
  • 03-08-2019, 22:13:34
    #5
    YavuzTR adlı üyeden alıntı: mesajı görüntüle
    Hocam ellerinize sağlık çok teşekkürler fakat seçimleri algılamadı sanırım direkt "Herhangi bir tarayıcı seçilmedi!" olarak göstermeye başladı bu sefer.
    Kodları güncelledim, array olarak geldiğini farketmemişim. tekrar dener misiniz
  • 03-08-2019, 22:15:28
    #6
    alenazte adlı üyeden alıntı: mesajı görüntüle
    Arkadaş gelen verinin array olduğunu fark etmemiş sanırım aslında yapmanız gereken tek şey spanları bir array atıp field isimlerini renk lerin isimi olarak tanımladığınızda geriye sadece bir fonksiyon oluşturup içinde aramak kalır.
    mehmetiscod adlı üyeden alıntı: mesajı görüntüle
    Kodları güncelledim, array olarak geldiğini farketmemişim. tekrar dener misiniz
    Şimdi sorunsuzca oldu işte çok teşekkür ederim elleriniz dert görmesin.