Seçenek sayfaları
6 dk okuma
Bir seçenek sayfası, WordPress yönetim menüsünde yer alan bir ayar ekranıdır. Tek bir yazıya değil, sitenin tamamına ait veriler için kullanın: telefon numarası, alt bilgi metni, logo, sosyal medya bağlantıları.
Sayfanın kendisi yalnızca ekranı tanımlar (başlık, menüdeki yeri, kimlerin açabileceği). Üzerinde gösterilen alanlar, ona işaret eden Options page konum kuralına sahip alan gruplarından gelir. Değerler tüm site için bir kez kaydedilir.
Seçenek sayfaları her planda kullanılabilir.
Nerede bulunur
WPM Fields › Options Pages ekranını açın. Liste şu açıklamayla başlar: "Admin screens for site-wide settings, such as contact details or a footer text. Put field groups on a page with the location rule “Options page”."
Sütun | Anlamı |
|---|---|
Page | Başlık ve slug. |
Menu | Bulunduğu yer; örneğin "Top level" veya "Under Settings". |
Field groups | Üzerinde gösterilen gruplar (boşsa "None yet"). |
Status | Etkin veya etkin değil. |
Actions | Open page seçenek sayfasının kendisine gider. |
Yeni oluşturmak için Add options page düğmesine tıklayın.
Seçenek sayfası oluşturma
- Add options page düğmesine tıklayın.
- Page title girin; örneğin "Site Settings". Siz düzenleyene kadar slug başlıktan otomatik doldurulur.
- Nereye ekleneceğini Place in menu altında seçin (aşağıya bakın).
- Create options page düğmesine tıklayın. "Options page created." mesajını görürsünüz.
- Bir alan grubu oluşturun ve Options page is equal to sayfanız konum kuralını ekleyin. Alan grubu düzenleyicisi her seçenek sayfasını başlığıyla listeler.
Düzenleyici, zaten bağlı olan grupları listeleyen bir Field groups on this page bölümü gösterir; kapalı gruplarda "Inactive" rozeti bulunur. Hiç grup yoksa şu mesaj görünür: "None yet. In a field group, add the location rule “Options page is Site Settings”." Mesajda Field Groups bağlantısı yer alır.
Page bölümü
Alan | Varsayılan | Notlar |
|---|---|---|
Page title | boş (zorunlu) | Sayfanın başlığı. "The page title is required." |
Menu title | boş | Menü için daha kısa bir ad. Boşsa sayfa başlığı kullanılır. |
Slug | başlıktan | 2 ile 64 karakter: küçük harfler, rakamlar, tireler, alt çizgiler; bir harfle başlamalıdır. Sayfa URL'sinde ve konum kurallarında kullanılır. Oluşturulduktan sonra değiştirilemez. |
Description | boş | Sayfa başlığının altında küçük metin olarak gösterilir. |
Active | Açık | "When off, the page is not in the admin menu. Saved values stay and templates still read them." |
Slug kuralları ve göreceğiniz mesajlar:
- "The slug must start with a letter and use 2–64 lowercase letters, numbers, hyphens or underscores."
- "This slug is reserved. Choose another one." Reddedilenler:
wpmcf,options,general,settings,tools,plugins,themes,users,profilevewpmcf-ile başlayan her şey. - "An options page with this slug already exists."
Menu bölümü
Alan | Varsayılan | Notlar |
|---|---|---|
Place in menu | Top level | Top level; Under a WordPress menu (Settings, Appearance, Tools veya Users); ya da Under another options page (kendisi dışındaki herhangi bir seçenek sayfası). |
Capability |
| "Users need this capability to open and save the page, e.g. manage_options or edit_theme_options." Editörlerin erişmesi için |
Menu icon |
| Bir Dashicons sınıfı veya görsel URL'si. Yalnızca üst düzey sayfalar simge gösterir; diğerlerinde alan devre dışıdır. |
Menu position | boş | 0 ile 9999 arası. "Lower numbers come first. Leave empty for the end of the menu." |
Menünün oluşturulma biçimi:
- Bir WordPress menüsü altındaki sayfa, Settings, Appearance, Tools veya Users altında alt öğe olarak görünür. URL'si
options-general.php?page={slug}(veya ilgili dosya) biçimindedir; üst düzey ya da iç içe bir sayfanın URL'si iseadmin.php?page={slug}olur. - Başka bir seçenek sayfasının altındaki sayfa, onun alt öğesi olur. Üst sayfa, erişilebilir kalması için kendi adını taşıyan ilk bir alt öğe de alır.
- WordPress menüleri iki düzeylidir. A › B › C gibi bir zincir düzleştirilir: C, zincirin en üstteki sayfasının altına yerleştirilir.
- Bir sayfanın üst menüsü yoksa (örneğin içe aktarmadan geldiyse) sayfa üst düzeye döner.
- Bir seçenek sayfası kendi üst öğesi olamaz: "An options page cannot be its own parent."
Form bölümü
Alan | Varsayılan | Notlar |
|---|---|---|
Button label | Save changes | Kaydet düğmesinin metni. |
Saved message | Options saved. | Kaydettikten sonra gösterilir. |
Değerleri girme
Sayfayı yönetim menüsünden açın (veya listedeki Open page bağlantısından). Her alan grubu, grubun başlığıyla ve grubun stil ile etiket ayarlarıyla kendi kutusunda gösterilir. Sayfadaki tüm grupları kaydetmek için kaydet düğmesine bir kez tıklayın.
- Kaydettikten sonra sayfa yeniden yüklenir ve kaydedildi mesajını gösterir. Sayfayı tekrar yenilemek veriyi yeniden göndermez.
- Zorunlu bir alan boşsa yine de kaydedilir ve şu uyarı gösterilir: "Saved, but these required fields are empty: Phone."
- Bir alan grubu başarısız olursa hatayı yalnızca o grup gösterir ("These field groups could not be saved: …"). Diğerleri kaydedilir. Ayrıntılar WPM Fields › Settings › Health altındadır.
- Veritabanı tablosu hazır olmayan bir grup şunu gösterir: "This field group cannot store values yet. Open it in Field Groups and save it again."
- Hiç grup bağlı değilse sayfa, Go to Field Groups bağlantılı bir bilgi bildirimi gösterir: "No field groups are shown on this page yet. Create a field group and set its location to this options page."
Yalnızca etkin olan ve tüm konum kuralları eşleşen gruplar gösterilir. Örneğin Current user role üzerindeki bir kural, grubu diğer rollerden gizler.
Grup başına tek değer kümesi
Değerler sayfaya değil alan grubuna aittir. Aynı grubu iki seçenek sayfasına yerleştirirseniz her iki ekran da aynı değerleri düzenler.
Değerleri okuma
Sayfa slug'ını değil, grup anahtarını ve alan anahtarını kullanın.
// Raw value, not escaped: escape it yourself.
$phone = wpmcf_get_option_field( 'site_contact', 'phone' );
// Escaped output, wrapped in <span class="wpmcf-field-value">
wpmcf_the_option_field( 'site_contact', 'phone' );
// Check before printing.
if ( wpmcf_has_option_field( 'site_contact', 'tagline' ) ) {
wpmcf_the_option_field( 'site_contact', 'tagline', array( 'wrap' => false ) );
}
// Fallback when empty or unavailable.
$email = wpmcf_get_option_field( 'site_contact', 'email', array( 'default' => '[email protected]' ) );İşlev | Döndürdüğü | Notlar |
|---|---|---|
| ham değer |
|
| hiçbir şey (çıktı verir) |
|
|
| Değer boş değilse true. |
|
| Grubu gösteren seçenek sayfalarına bir değer kaydeder. Yetki denetimi yoktur: yalnızca güvenilir koddan çağırın. |
|
| Bir değeri temizler. Yetki denetimi yoktur. |
Tekrarlayıcılar (repeater) ve gruplar için $args parametresi path ve sub_key kabul eder. Bkz. Template functions.
Shortcode
[wpmcf_field group="site_contact" field="phone" context="options"]
[wpmcf_field group="site_contact" field="phone" context="options" wrap="false" default="n/a"]context="options" zorunludur. Olmadan shortcode bir yazı arar ve hiçbir şey yazdırmaz.
Shortcode yalnızca, yazarı grubu gösteren bir seçenek sayfasını açabilen içeriklerde çıktı verir. Shortcode kullanan bir katkıcının yazısı, manage_options veya edit_pages gerektiren bir seçenek sayfasındaki grup için hiçbir şey yazdırmaz. Bu, düşük yetkili yazarların site ayarlarını shortcode üzerinden yayımlamasını engeller. Tema şablonları ve widget'lar güvenilir kabul edilir ve her zaman çıktı verir. wpmcf/options/capabilities ve wpmcf/shortcode/can_view filtreleri bunu ayarlar.
Düzenleme, devre dışı bırakma ve silme
- Active kapalı: menü girdisi kaybolur; liste Open page URL'si göstermez. Değerler korunur ve tüm işlevler onları okumaya devam eder.
- Silme: yalnızca sayfa tanımını kaldırır. "Deleting a page keeps the field values (they belong to the field groups)." Alan grubunun konum kuralı bu durumda hiçbir yere işaret etmez; grubu başka yerde istiyorsanız düzenleyin.
- Capability değerini değiştirmek bir sonraki sayfa yüklemesinde etkili olur.
Hook'lar
Hook | Tür | Amaç |
|---|---|---|
| action | Değerler kaydedildi (sayfa slug'ı, sonuç dizisi). Sayfa önbelleklerini temizlemek için kullanın. |
| action | Bir sayfa tanımı oluşturuldu, değiştirildi veya silindi. |
| filter | Bir grubun seçenek değerlerini yazı içeriğinde yazdırabilen yetkiler. |
| filter | Options page konum kuralının seçenekleri. |
Bkz. Hooks.
Sorun giderme
Grubum sayfada görünmüyor. Grubu Field Groups içinde açın; konum kuralının Options page is equal to sayfanız olduğunu, grubun etkin olduğunu ve başka hiçbir kuralın sizi dışarıda bırakmadığını kontrol edin.
403 hatası alıyorum veya menü girdisi yok. Kullanıcınızda sayfanın Capability yetkisi yok.
Shortcode hiçbir şey yazdırmıyor. context="options" ekleyin ve yazının yazarının sayfayı açabildiğini kontrol edin.
Değer ön yüzde güncellenmiyor. Bir sayfa önbelleği eski HTML'i sunuyor. Önbelleği wpmcf/options_pages/values_saved üzerinde temizleyin.
Hâlâ takıldınız mı? Destek ile iletişime geçin