2016-03-18 24 views
0

'a nasıl iletilir Wordpress döngümümü değiştirdiğimde, yalnızca geçerli oturum açmış kullanıcının kaydedilmesinden sonra yayınlanan yayınları gösterir. Aşağıda başarıyla kullanıyorumPHP değişkeni İşlev

<?php $regdate = date("Y-d-m", strtotime(get_userdata(get_current_user_id())->user_registered)); ?> 

döngü değiştirmek için - -

<?php 
     function filter_where($where = '') { 
     $where .= " AND post_date >= '2010-02-18'"; 
     return $where; 
     } 
     add_filter('posts_where', 'filter_where'); 
     query_posts($query_string); 
    ?> 

Ben $ regdate değişkeni geçiyor yardıma gerekenler tarihi almak için kullanıcı başarıyla aşağıdaki kullanıyorum kayıtlı metin tarihi yerine '2010-02-18'. Birkaç varyasyon denedim ama kırılıyor. Eminim bu herkes için çok kolay PHP meraklısı ... lütfen yardım edin!

+0

Eğer değişken için ** küresel ** anahtar kelime denedin mi? –

+0

İşlev işlevini 'filter_where işlevi ($ where, $ my_date) {' olarak değiştirin ve işlevle onu filter_where ('', $ regdate) {'ile belirtin, bunun yerine' $ where. = 'Yazın ve post_date> = $ yazın. my_date ";' – Steve

+0

Üzgünüm Steve, cevabın biraz karıştı, bir örnek olur mu? –

cevap

0

Bildiğim kadarıyla bunu iki farklı temel yolla yapabilirsiniz: $ GLOBALS ve geçen işlev argümanları. Şu anda komut küresel kapsamı tanımlanan olan bütün değişkenleri içeren

$ GLOBALS

dizisi. adları, dizinin anahtarlarıdır.

function boo(){ 
    echo $GLOBALS['foo']; 
} 
$foo = 'bar'; 
boo(); // output: bar 

Referans: http://php.net/manual/en/reserved.variables.globals.php

Fonksiyon argümanları

Bilgi ifadelerin virgülle ayrılmış liste olan argüman listesi aracılığıyla fonksiyonlara aktarılabilir. Argümanlar tarafından soldan sağa doğru değerlendirilir.

function boo($foo){ 
    echo $foo; 
} 
boo('bar'); // output: bar 

Referans: http://php.net/manual/en/functions.arguments.php

+0

Sadece FYI: İkinci çözümün ilkinden daha iyi bir uygulama olduğu söylendi. 'Özel' global vars kullanımı önerilmez. –

+0

Ve neden bu cesaret kırdı? @dn Fer – Fin

+0

Bkz. http://stackoverflow.com/questions/1557787/are-global-variables-in-php-considered-bad-practice-if-so-why Açık olmak gerekirse ... Onları kullanmak yanlış, bunu önlemek isteyebilirsiniz diyorum. –