• 11-09-2021, 07:54:29
    #10
    Volkan adlı üyeden alıntı: mesajı görüntüle
    Burada tek bir değişkeni kontrol ediyorsunuz. Birden fazla kontrol yok bu nedenle aşağıdaki gibi olmalı.
    Söz dizimiyle alakalı siz sanıyorum HTML içine gömüyorsunuz.

    <?php foreach ($category_explodes as $category_explode):
         if ('category_url' === $category_explode):  ?>
        Aynı ise yazdırılacak.
    <?php else: ?>
        Aynı değil ise yazdırılacak.
    <?php
        endif;
    endforeach;
    Bu durumda "Aynı değil ise yazdırılacak." kısmı her türlü yazdırılıyor. Acaba array içerisindeki 1. değer eşleşmese bile 2. değer var diye null olmuyor da o yüzden mi çalışıyor?

    ZEON adlı üyeden alıntı: mesajı görüntüle
    Ne yapmak istediğinizi yazın, kodu ne için kullanacaksınız, ona göre çözelim.
    Wordpress'e ilk defa tema yapmaya çalışıyorum, PHP'yi de yaparak öğreniyorum. Kontrol paneli için BURADAKİ iki seçeneği ekledim. Kontrol kodlarını aşağıya ekliyorum ve array içerisinde "category_url" ile "author-url" var, seçili olduklarında bu değerler yazılıyor. seçilmediğinde ise ikisi de anladığım kadarıyla ayrı ayrı null oluyor.

    Diğer tarafta ise 2 tane alan yapmam gerekiyor, biri kategori biri yazar ismini eklemek için. Bunlarda sıkıntı yok ikisi de hazır ancak hangi durumda hangisi çalışacak orada takıldım kaldım. Disable Category URL seçildiğinde category_url geçerli oluyor ve sadece kategori ismini çektiğim kod yazılıyorken seçili olmadığında array'ın 1. değeri null dönüyor, bu durumda ise kategori isminin url ile birlikte çalıştığı kod yazılıyor.

    Panel Kodları:
       $wp_customize->add_setting( 'laura_home_page_url_disable',
          array(
             'transport' => 'refresh',
             'sanitize_callback' => 'laura_text_sanitization',
             'default' => 'author-url'
       ));
       $wp_customize->add_control( new Laura_Pill_Checkbox_Custom_Control( $wp_customize, 'laura_home_page_url_disable',
          array(
             'label' => __( 'Choose The URLs To Be Disable', 'laura' ),
             'description' => __( 'This feature disables the URL on the home page so clicking it will not take the user to the relevant page.', 'laura' ),
             'section' => 'laura_home_settings',
             'input_attrs' => array(
                'fullwidth' => true,
             ),
             'choices' => array(
                'category_url' => __( 'Disable Category URL', 'laura' ),
                'author-url' => __( 'Disable Author URL', 'laura' ),
             )
       )));
  • 11-09-2021, 08:04:46
    #11
    SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
    Bu durumda "Aynı değil ise yazdırılacak." kısmı her türlü yazdırılıyor. Acaba array içerisindeki 1. değer eşleşmese bile 2. değer var diye null olmuyor da o yüzden mi çalışıyor?



    Wordpress'e ilk defa tema yapmaya çalışıyorum, PHP'yi de yaparak öğreniyorum. Kontrol paneli için BURADAKİ iki seçeneği ekledim. Kontrol kodlarını aşağıya ekliyorum ve array içerisinde "category_url" ile "author-url" var, seçili olduklarında bu değerler yazılıyor. seçilmediğinde ise ikisi de anladığım kadarıyla ayrı ayrı null oluyor.

    Diğer tarafta ise 2 tane alan yapmam gerekiyor, biri kategori biri yazar ismini eklemek için. Bunlarda sıkıntı yok ikisi de hazır ancak hangi durumda hangisi çalışacak orada takıldım kaldım. Disable Category URL seçildiğinde category_url geçerli oluyor ve sadece kategori ismini çektiğim kod yazılıyorken seçili olmadığında array'ın 1. değeri null dönüyor, bu durumda ise kategori isminin url ile birlikte çalıştığı kod yazılıyor.

    Panel Kodları:
       $wp_customize->add_setting( 'laura_home_page_url_disable',
          array(
             'transport' => 'refresh',
             'sanitize_callback' => 'laura_text_sanitization',
             'default' => 'author-url'
       ));
       $wp_customize->add_control( new Laura_Pill_Checkbox_Custom_Control( $wp_customize, 'laura_home_page_url_disable',
          array(
             'label' => __( 'Choose The URLs To Be Disable', 'laura' ),
             'description' => __( 'This feature disables the URL on the home page so clicking it will not take the user to the relevant page.', 'laura' ),
             'section' => 'laura_home_settings',
             'input_attrs' => array(
                'fullwidth' => true,
             ),
             'choices' => array(
                'category_url' => __( 'Disable Category URL', 'laura' ),
                'author-url' => __( 'Disable Author URL', 'laura' ),
             )
       )));
    Anladığım kadarı ile burada zaten probleminiz yok. Foreach ile ilgili kısımı kullanım amacınızı sormuştum, özel bir durum varsa ona göre cevap verelim. Yoksa koşul ifadeniz hatalıydı üstteki örneklerde onu düzeltmek yeterli olacak.
  • 11-09-2021, 08:06:21
    #12
    Hocam bence siz önce foreach döngüsü içerisinde $category_explode değişkeninde tutulan veriyi bir kontrol edin.
    Misal foreach döngüsü içerisinde mantıksal işlem yapmadan önce var_dump($category_explode) gibi.

    Daha sonrasında mantıksal işleme geçebilirsiniz. $category_explode dönen veriyi bilmiyoruz.
  • 11-09-2021, 08:25:05
    #13
    category_url değişkeninin url çektiğini test ettiniz mi? category_url yerine get_category_url kullanır mısınız?
  • 11-09-2021, 08:53:16
    #14
    ZEON adlı üyeden alıntı: mesajı görüntüle
    Anladığım kadarı ile burada zaten probleminiz yok. Foreach ile ilgili kısımı kullanım amacınızı sormuştum, özel bir durum varsa ona göre cevap verelim. Yoksa koşul ifadeniz hatalıydı üstteki örneklerde onu düzeltmek yeterli olacak.
    elseif'den sonra else ekledim olması gereken oldu ancak bu işte bir yanlışlık var bence. Zira orada 2 kod bloğu yerine 3 kod bloğu var. else'yi hiç işin içine dahil etmeden "('category_url' === $category_explode)" kısmında bir şeyler değiştirerek çalışmasını sağlamak gerekirdi gibi geliyor bana.

    Volkan adlı üyeden alıntı: mesajı görüntüle
    Hocam bence siz önce foreach döngüsü içerisinde $category_explode değişkeninde tutulan veriyi bir kontrol edin.
    Misal foreach döngüsü içerisinde mantıksal işlem yapmadan önce var_dump($category_explode) gibi.

    Daha sonrasında mantıksal işleme geçebilirsiniz. $category_explode dönen veriyi bilmiyoruz.
    Şu şekilde kontrol kodlarını ekledim hocam: https://drive.google.com/uc?id=1aApg...C1Z9B8FplIh2ya
    Sonuç olarak var_dump ile gelenler şöyle;
    "Disable Category URL" ve "Disable Author URL" seçili: string(12) "category_url" string(10) "author-url"
    "Disable Category URL" ve "Disable Author URL" seçili değil: string(0) ""
    "Disable Category URL" seçili ve "Disable Author URL" seçili değil: string(12) "category_url"
    "Disable Category URL" seçili değil ve "Disable Author URL" seçili: string(10) "author-url"

    bulentking adlı üyeden alıntı: mesajı görüntüle
    category_url değişkeninin url çektiğini test ettiniz mi? category_url yerine get_category_url kullanır mısınız?
    Yok hocam amaç kategori adresini çekmek değil zaten, siz yanlış anlamışsınız beni.
  • 11-09-2021, 09:07:20
    #15
    SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
    elseif'den sonra else ekledim olması gereken oldu ancak bu işte bir yanlışlık var bence. Zira orada 2 kod bloğu yerine 3 kod bloğu var. else'yi hiç işin içine dahil etmeden "('category_url' === $category_explode)" kısmında bir şeyler değiştirerek çalışmasını sağlamak gerekirdi gibi geliyor bana..
    Koşul ifadesini düzelttiğinizde çalışacak zaten ilk mesajdan o belliydi ama benim ve konunuza yazan arkadaşların amacı hem siz konuyu anlamış olun hemde ihtiyacı olan başka biri okuduğunda çözüme ulaşsın.
    Soruları yanıtlamayıp kendiniz bu şekilde değerlendirme yaparsanız yardım edemeyiz.
  • 11-09-2021, 19:08:56
    #16
    ZEON adlı üyeden alıntı: mesajı görüntüle
    Koşul ifadesini düzelttiğinizde çalışacak zaten ilk mesajdan o belliydi ama benim ve konunuza yazan arkadaşların amacı hem siz konuyu anlamış olun hemde ihtiyacı olan başka biri okuduğunda çözüme ulaşsın.
    Soruları yanıtlamayıp kendiniz bu şekilde değerlendirme yaparsanız yardım edemeyiz.
    Valla hocam kafam allak bullak oldu, konuyu açarken bir fikrim vardı şu an o da kayboldu. Çalışan bir kod oluşturamadım, çalıştığını söylediğimde 2. seçenek kapalı diye çalışıyormuş aslında olmamış. Koşulu ifadesini düzeltince çalışacak dediğiniz ifadeyi de düzeltmeyi halen anlamış değilim, ne yapacağımı bilmiyorum. İlk defa foreach, if, elseif, else kullanıyorum o yüzden ne soruları anlıyorum ne de doğru bir değerlendirme yapabiliyorum. Çalışan bir kod oluşturabilsem ha tamam bunun kullanımı böyleymiş diyeceğim sorun çözülecek ama ona ulaşamadığım için saatlerdir silip silip değiştirerek deneme yapıyorum. Şu an tamamen kayboldum diyebilirim.
  • 12-09-2021, 01:40:57
    #17
    SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
    Valla hocam kafam allak bullak oldu, konuyu açarken bir fikrim vardı şu an o da kayboldu. Çalışan bir kod oluşturamadım, çalıştığını söylediğimde 2. seçenek kapalı diye çalışıyormuş aslında olmamış. Koşulu ifadesini düzeltince çalışacak dediğiniz ifadeyi de düzeltmeyi halen anlamış değilim, ne yapacağımı bilmiyorum. İlk defa foreach, if, elseif, else kullanıyorum o yüzden ne soruları anlıyorum ne de doğru bir değerlendirme yapabiliyorum. Çalışan bir kod oluşturabilsem ha tamam bunun kullanımı böyleymiş diyeceğim sorun çözülecek ama ona ulaşamadığım için saatlerdir silip silip değiştirerek deneme yapıyorum. Şu an tamamen kayboldum diyebilirim.
    Bilgisayarınıza bağlanayım, birlikte bakalım.
  • 12-09-2021, 02:33:05
    #18
    ZEON adlı üyeden alıntı: mesajı görüntüle
    Bilgisayarınıza bağlanayım, birlikte bakalım.
    Valla sevinirim hocam, yapamadım bir türlü. Yazdım PM'den AnyDesk adresini, bekliyorum.