Nesne referansları
2 dk okuma
Her okuma ve yazma fonksiyonu $object argümanını alır (wpmcf_get_field(), wpmcf_the_field(), wpmcf_has_field(), wpmcf_update_field(), wpmcf_delete_field(), wpmcf_check_password(), wpmcf_get_password()) ve aynı biçimleri kabul eder.
Kabul edilen biçimler
Verdiğiniz | Anlamı | Bağlam |
|---|---|---|
| bağlamın geçerli nesnesi |
|
pozitif | o ID |
|
| o yazı |
|
| o kullanıcı |
|
| o terim |
|
| o yorum |
|
| yazı 12 |
|
| kullanıcı 3 |
|
| terim 5 |
|
| terim 5 |
|
| yorum 7 |
|
| widget 9 |
|
| seçenek sayfası satırı |
|
Referanslar büyük/küçük harfe duyarsızdır ve baştaki/sondaki boşluklar kırpılır (' User_3 ' çalışır).
wpmcf_get_field( 'g', 'f' ); // current post
wpmcf_get_field( 'g', 'f', 42 ); // post 42
wpmcf_get_field( 'g', 'f', get_queried_object() ); // whatever the page is about, if it is a post/term/user
wpmcf_get_field( 'g', 'f', 'user_3' );
wpmcf_get_field( 'g', 'f', 'term_5' );
wpmcf_get_field( 'g', 'f', 'category_5' );
wpmcf_get_field( 'g', 'f', 'comment_7' );
wpmcf_get_field( 'g', 'f', 'option' );
wpmcf_get_field( 'g', 'f', 3, [ 'context' => 'user' ] ); // same as "user_3"Üstün gelen: context argümanı
Açıkça verilen $args['context'], bir referansın ima ettiği bağlamdan önceliklidir:
wpmcf_get_field( 'g', 'f', 'user_3', [ 'context' => 'post' ] ); // reads POST 3, not user 3İkisinden birini kullanın, ikisini birden değil.
Bilmeye değer ayrıntılar
- Taksonomi önekleri yalnızca terim bağlamını seçer.
"category_5"ve"post_tag_5"ikisi de "ait olduğu taksonomi her neyse onun 5 numaralı terimi" anlamına gelir; taksonomi adı terimle karşılaştırılmaz (doğrulandı:"post_tag_N"bu ID'ye sahip bir kategori teriminin değerini döndürdü). Önek kayıtlı bir taksonomi olmalıdır; aksi halde referans geçersizdir. - ID olmadan yalnızca post bağlamında "geçerli" bir nesne vardır.
context => user|term|commentile ID verilmezse okunacak bir şey yoktur. Okumadefaultdeğerini döndürür; yazma isefalsedöndürür. - Yazmak için nesne mevcut olmalıdır (
wpmcf_update_field()):'user_999999'veya99999999numaralı yazıya yazmakfalsedöndürür; böylece yetim satır oluşmaz. Var olmayan bir nesneyi okumakdefaultdeğerini döndürür. - Seçenekler ID gerektirmez.
"option"vecontext => optionsverilen her ID'yi yok sayar. - Widget'lar için ya
"widget_{id}"ya da şu üç argüman gerekir:widget_sidebar,widget_id_basevewidget_number, ayrıcacontext => widget(uçtan uca testlerde denenmemiştir).
Geçersiz referanslar
Şunlar geçersizdir: negatif sayılar, ondalıklı sayılar, true, diziler, başka sınıfların nesneleri, 'foo', 'user' veya 'user_abc' gibi dizeler ve "{unknown}_5".
Çağrı | Sonuç |
|---|---|
bir okuma ( | Şu döner: |
bir yazma |
|
bir yazdırma ( | hiçbir şey yazdırmaz |
Şu durumda: | Bir |
Hiçbir şey istisna fırlatmaz.
WordPress'ten ID veya referans almak
$user = wp_get_current_user();
wpmcf_get_field( 'profile', 'bio', $user ); // WP_User works as is
wpmcf_get_field( 'profile', 'bio', 'user_' . get_the_author_meta( 'ID' ) );
if ( is_tax() || is_category() || is_tag() ) {
wpmcf_get_field( 'brand', 'logo', get_queried_object() ); // WP_Term
}
foreach ( get_comments( [ 'post_id' => get_the_ID() ] ) as $comment ) {
wpmcf_get_field( 'review', 'rating', $comment ); // WP_Comment
}Her bağlamın grubunun nereden geldiği
Bir grubun yalnızca konum kurallarının kapsadığı nesneler için tablo satırı vardır (bkz. Alan grupları). Yalnızca yazılara bağlı bir grubun hiçbir zaman kullanıcı değeri olmaz. Grubun bağlı olmadığı bir nesne türünü okumak default değerini döndürür.
Hâlâ takıldınız mı? Destek ile iletişime geçin