Filtreler ve fonksiyonlar
7 dk okuma
Filtreler ve fonksiyonlar adla kaydedilir. Bir şablon yalnızca bu sayfadakileri (artı kendi kodunuzun eklediklerini, bkz. PHP API) çağırabilir; bir PHP fonksiyonunu çağıramaz.
- Bir filtre solundaki değeri dönüştürür:
{{ glb.name | upper }}. Bağımsız değişkenler parantez içinde yazılır:{{ glb.name | truncate(10, '...') }}. Daha fazla boru karakteriyle zincirleyebilirsiniz. - Bir fonksiyon,
fnüzerinden çağrılır:{{ fn.concat('a', 'b') }}.func,fonkvefunction,fniçin takma adlardır. - Adlarda büyük/küçük harf ayrımı yoktur. Bilinmeyen bir filtre değeri değiştirmeden döndürür; bilinmeyen bir fonksiyon hiçbir şey döndürmez.
Aşağıdaki örneklerde şu değerler kullanılır: name = Acme Plumbing, price = 1234.5678, born = 1990-05-17, tags = red,green,blue, html = <b>Bold</b> & "q".
Metin filtreleri
Bunlar yalnızca metin dizelerinde çalışır; başka her değer olduğu gibi geçer.
Filtre | Bağımsız değişkenler | Ne yapar | Örnek | Sonuç |
|---|---|---|---|---|
| Büyük harfe çevirir (UTF-8 uyumlu) |
|
| |
| Küçük harfe çevirir |
|
| |
| Her iki uçtaki boşlukları kaldırır |
|
| |
|
| Baştan karakterleri kaldırır; varsayılan boşluktur |
|
|
|
| Sondan karakterleri kaldırır |
|
|
| URL slug'ı ( |
|
| |
|
| Her eşleşmeyi değiştirir (büyük/küçük harf duyarlı) |
|
|
|
| Metni |
|
|
| Bir dizeyi ya da listeyi tersine çevirir |
|
| |
|
| Metni tekrarlar; en çok 100 kez ve 10.000 karakter |
|
|
|
| Bir dizeyi listeye dönüştürür |
|
|
Kaçış filtreleri
Değişken çıktısı kaçışlanmaz. Değer kaçış gerektiren bir yere gidiyorsa bunları kullanın (bkz. Güvenlik).
Filtre | Bağımsız değişkenler | Ne yapar | Örnek | Sonuç |
|---|---|---|---|---|
|
|
|
| |
|
|
| yukarıdakiyle aynı | |
|
|
| boş | |
| HTML etiketlerini ve betik içeriğini kaldırır |
|
| |
| Kaçışlar, sonra satır sonlarını şuna çevirir: |
|
|
Sayı filtreleri
Bunlar sayıya benzeyen değerlerde çalışır; başka her şey olduğu gibi geçer ({{ 'abc' | number(2) }} ifadesi abc yazdırır). Sonuçlar dizedir.
Filtre | Bağımsız değişkenler | Ne yapar | Örnek | Sonuç |
|---|---|---|---|---|
|
| Bir sayıyı biçimlendirir |
|
|
Avrupa biçimi |
|
| ||
|
| Yarımları sıfırdan uzağa yuvarlar |
|
|
| Yukarı doğru tam sayıya yuvarlar |
|
| |
| Aşağı yuvarlar |
|
| |
| Mutlak değer |
|
| |
| Ondalık sayıya dönüştürür |
|
| |
| Bir değeri tam sayıya dönüştürür; sayı olmayanlarda sonuç |
|
|
Ondalık basamak sayısı en çok 10'dur (number(99), number(10) gibi davranır).
Tarih filtreleri
Değer sayısalsa Unix zaman damgası, aksi halde tarih metni olarak okunur (strtotime işlevinin anladığı her biçim). Ay ve gün adları site diline çevrilir ve site saat dilimi uygulanır. Boş bir değer hiçbir şey yazdırmaz; tarih olmayan bir metin olduğu gibi yazdırılır.
Filtre | Bağımsız değişkenler | Ne yapar | Örnek | Sonuç |
|---|---|---|---|---|
|
| Biçimlendirme: PHP tarih harfleri |
|
|
|
| Şuna benzer: |
|
|
| Tarihten bugüne tam yıllar (365,25 günlük yıllar) |
|
|
{{ 86400 | date('Y-m-d') }} ifadesi 1970-01-02 yazdırır (sayı bir zaman damgasıdır).
Değer ve liste filtreleri
Filtre | Bağımsız değişkenler | Ne yapar | Örnek | Sonuç |
|---|---|---|---|---|
|
| Değer yoksa, boş dizeyse ya da |
|
|
|
| PHP'nin boş saydığı her şey için yedek değeri kullanır: ayrıca |
|
|
|
| Bir listeyi birleştirir; liste olmayan değer metne dönüşür |
|
|
| Bir dizenin karakter sayısı (UTF-8) ya da bir listenin öğe sayısı. Diğer her şey |
|
| |
| Bir listenin öğe sayısı; diğer her şey için |
|
| |
| Bir listenin ilk öğesi ya da bir dizenin ilk karakteri |
|
| |
| Son öğe ya da son karakter |
|
| |
| JSON metni (Unicode ve eğik çizgiler kaçışlanmaz) |
|
| |
|
|
|
| |
|
|
|
|
Fonksiyonlar
Metin
Fonksiyon | Bağımsız değişkenler | Döndürür | Örnek | Sonuç |
|---|---|---|---|---|
| istenen sayıda | Birleştirilmiş parçalar |
|
|
|
| Filtrelerle aynı |
|
|
|
| URL slug'ı |
|
|
|
| Bir dizenin bir parçası (UTF-8). Negatif başlangıç değeri sabit değer olarak yazılamaz. |
|
|
|
| İlk eşleşmenin konumu (0 başlangıçtır); bulunamazsa boş |
|
|
|
| Karakter sayısı (UTF-8) |
|
|
|
| Kelime sayısı, HTML temizlendikten sonra. Yalnızca ASCII harflerden oluşan kelimeleri sayar. |
|
|
|
| MD5 özeti |
|
|
|
| Parçaları birleştirir |
|
|
|
| Bir liste |
|
|
|
| JSON metni |
|
|
Metin fonksiyonları dizelerle çalışır; sabit değer olarak iletilen bir sayıyı şunlar değiştirmeden döndürür: upper, lower, trim ve slug; şunlar ise onu 0 olarak sayar: characterCount ve wordCount.
Sayılar
Fonksiyon | Bağımsız değişkenler | Döndürür | Örnek | Sonuç |
|---|---|---|---|---|
| istenen sayıda | Toplam |
|
|
| istenen sayıda | En büyük, en küçük (bağımsız değişken yoksa |
|
|
|
| Yuvarlanmış sayı (hassasiyet en çok 10) |
|
|
|
| Mutlak değer; |
| |
|
| Aralarında rastgele bir tam sayı (uçlar dahil) |
|
|
|
| Bir listenin öğe sayısı |
|
|
fn.rand her değerlendirmede yeni bir sayı döndürür. Önbelleğe alınan sayfalarda kullanmayın.
Tarihler
Fonksiyon | Bağımsız değişkenler | Döndürür | Örnek | Sonuç |
|---|---|---|---|---|
|
| Geçerli tarih ve saat |
|
|
|
|
|
| |
| Unix zaman damgası |
|
| |
|
| Bir tarih; zaman damgası verilmezse bugün |
|
|
Mantık
Fonksiyon | Bağımsız değişkenler | Döndürür | Örnek | Sonuç |
|---|---|---|---|---|
|
|
|
|
|
| istenen sayıda | Boş metin ya da boş değer olmayan ilk değer ( |
|
|
Bir fonksiyonun her bağımsız değişkeni değerlendirilir; fn.if işlevinin her iki dalı da dahil.
Site seçenekleri
fn.option('name'), bir WordPress seçeneğinin değerini döndürür, yalnızca kısa bir izin listesindeki adlar için. Diğer her şey hiçbir şey döndürmez; böylece hiçbir sır okunamaz.
İzin verilen seçenek adları |
|---|
|
{{ fn.option('blogname') }} My Site
{{ fn.option('admin_email') }} (nothing: not on the list)
{{ fn.option('active_plugins') }} (nothing)Seçenek adları sanitize_key ile temizlenir. Değeri tek bir değer olmayan (dizi ya da nesne) seçenek hiçbir şey döndürmez. Daha fazlasına izin vermek için wpmcf/variables/allowed_options filtresini kullanın ve yalnızca herkese açık bir sayfada yazdırılması güvenli seçenekleri ekleyin.
Sık kullanılan kalıplar
{{ glb.phone | default('Call us') }}
{{ fg.products.price | number(2, ',', '.') }} EUR
{{ fg.events.start | date('l, F j') }}
{{ fn.if(fg.products.on_sale, 'Sale', '') }}
{{ wp.post_title | truncate(60) | escape }}
{{ fn.concat(wp.post_title, ' | ', sys.site_name) }}
{{ glb.tags | split(',') | count }} tags
{{ (fg.products.stock > 0 ? 'In stock' : 'Sold out') | upper }}Hâlâ takıldınız mı? Destek ile iletişime geçin