• 24-09-2018, 12:21:28
    #1
    Merhaba,
    PHP uzmanları bu soruma cevap verirse sevinirim.
    Wordpress'te metabox için şöyle bir fonksiyon var.
    function custom_metabox_field() {
            global $post;
    
            $data = get_post_custom($post->ID);
            $val = isset($data['custom_input']) ? esc_attr($data['custom_input'][0]) : '';
    
            echo '<input type="text" name="custom_input" id="custom_input" value="'.$val.'" />';
    }
    global $post; denilen yerden nasıl o postun ID bilgisine ulaşabiliyor Wordpress ?
    Yani bunu daha önce config dosyalarında bir yere tanımlamış ve biz global $post; diyip ona mı erişmiş oluyoruz. Biraz açıklayabilme şansınız var mı ?

    Çünkü benim bildiğim $_GLOBAL diye çağırılır. Ya da global şeyler $_POST, $_SERVER gibi değişkenlerdir.
  • 24-09-2018, 12:25:43
    #2
    fonksiyon dışında tanımlanmış bir değişkeni fonksiyon içinde de kullanabilmek için, değişken global ile çağrılır.
  • 24-09-2018, 12:28:25
    #3
    aCadir adlı üyeden alıntı: mesajı görüntüle
    fonksiyon dışında tanımlanmış bir değişkeni fonksiyon içinde de kullanabilmek için, değişken global ile çağrılır.
    Teşekkürler ama bu php sayfasında başka bir $post değişkeni yok.
  • 24-09-2018, 12:29:32
    #4
    aynı sayfada olmak zorunda değil. include ile başka sayfada kullanılıyordur.
  • 24-09-2018, 12:32:14
    #5
    Anladım, teşekkürler @aCadir;
  • 24-09-2018, 12:32:36
    #6
    Global, kısaca fonksiyon dışında tanımlanan değişkeni fonksiyon içinde kullanabilmenizi sağlar.

    Örnek
    $a = 1;
    $b = 2;
    function topla(){
    global $a, $b;
    return $a + $b;
    }
    echo topla(); // Çıktı: 3
    Global değişken tanımlamak için diğer bir yöntem;

    Örnek
    $a = 1;
    $b = 2;
    function topla(){
    return $GLOBALS['a'] + $GLOBALS['b'];
    }
    echo topla(); // Çıktı: 3
  • 24-09-2018, 12:34:10
    #7
    Daryl_Dixon adlı üyeden alıntı: mesajı görüntüle
    Global, kısaca fonksiyon dışında tanımlanan değişkeni fonksiyon içinde kullanabilmenizi sağlar.

    Örnek
    $a = 1;
    $b = 2;
    function topla(){
    global $a, $b;
    return $a + $b;
    }
    echo topla(); // Çıktı: 3
    Global değişken tanımlamak için diğer bir yöntem;

    Örnek
    $a = 1;
    $b = 2;
    function topla(){
    return $GLOBALS['a'] + $GLOBALS['b'];
    }
    echo topla(); // Çıktı: 3
    Açıklamanız için çok teşekkürler, aydınlanmama yardımcı oldu
  • 24-09-2018, 12:49:22
    #8
    Hocam sen golballerden $_POST değişkeni ile wordpressin kendi $post değişkenini karıştırma.
    Hazır tanımlanmış global değişkenler vardır, $_POST, $_GET, $_SERVER, $_FILES gibi...
    Bir de bizim kendimizin global tanımladığımız değişkenlerimiz var.
    $post değişkeni wordpress sistemde post bilgilerini tutan bir dizidir.
    global $post; olarak çağırıp kullanmak istediğin fonksiyon içinde kullanırsın.
    https://codex.wordpress.org/Function_Reference/$post
  • 24-09-2018, 13:28:27
    #9
    digiklan adlı üyeden alıntı: mesajı görüntüle
    Hocam sen golballerden $_POST değişkeni ile wordpressin kendi $post değişkenini karıştırma.
    Hazır tanımlanmış global değişkenler vardır, $_POST, $_GET, $_SERVER, $_FILES gibi...
    Bir de bizim kendimizin global tanımladığımız değişkenlerimiz var.
    $post değişkeni wordpress sistemde post bilgilerini tutan bir dizidir.
    global $post; olarak çağırıp kullanmak istediğin fonksiyon içinde kullanırsın.
    https://codex.wordpress.org/Function_Reference/$post


    Teşekkürler hocam