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.
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"
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.