Tanımları dışa ve içe aktarma (JSON)
6 dk okuma
WPM Fields › Tools › Export & import, tanımları tek bir dosyayla bir siteden diğerine kopyalar. Kaydedilmiş alan değerleri dahil değildir; değerleri taşımak için WordPress dışa aktarma dosyaları (WXR) ve kopyalar bölümüne bakın.
Dışa aktarma
- WPM Fields › Tools sayfasını açın. Export & import sekmesi varsayılan olarak açılır.
- Export kartında istediklerinizi işaretleyin. En az bir öğesi olan her tür, adı ve sayısıyla başlıklandırılmış kendi kutusunu alır, örneğin Field Groups (3). Her öğe etiketini ve anahtarını gösterir.
- Bir türün tüm öğelerini seçmek için kutu başlığını işaretleyin.
- Select all en üstteki seçenek her şeyi seçer.
- Düğmenin yanındaki sayaç %d selected bilgisini gösterir.
- Download JSON düğmesine tıklayın. Tarayıcı
wpmcf-export-YYYY-MM-DD.jsondosyasını kaydeder.
Henüz hiçbir şey oluşturmadıysanız kartta Nothing to export yet yazar.
Download JSON düğmesi, en az bir öğe işaretlenene kadar devre dışı kalır.
Dosyanın görünümü
{
"format": "wpmcf-export",
"version": 1,
"plugin_version": "1.0.0",
"exported_at": "2026-10-03T12:58:39+00:00",
"post_types": [],
"taxonomies": [],
"options_pages": [],
"field_groups": []
}- Dört bölümün tamamı her zaman bulunur; seçmediğiniz bölümler boş liste olur.
- Alan grupları; alanlarını (alt alanlar, koşullu mantık, ayarlar ve doğrulamayla birlikte), konum kurallarını ve grup ayarlarını taşır. Her alanın bir
uiddeğeri vardır; bu, alan yeniden adlandırıldıktan sonra bile içe aktarıcının alanı tanımasını sağlayan kalıcı bir tanımlayıcıdır. - Oluşturma ve değiştirme tarihleri dışa aktarılır ancak içe aktarmada yok sayılır: hedef site kendi tarihlerini korur.
- Dosya okunabilirdir ve diff için uygundur (girintili, eğik çizgiler ve Unicode karakterler kaçışlanmadan).
İçe aktarma
- Import kartında Choose JSON file düğmesine tıklayın ve bu eklentinin oluşturduğu bir dosyayı seçin (yalnızca
.jsondosyaları). - Önizleme hemen başlar. Henüz hiçbir şey kaydedilmez. Preview listesi her tanım için bir satır gösterir:
Rozet | Anlamı |
|---|---|
New | Bu sitede yok ve oluşturulacak. |
Replace | Mevcut ve değiştirilecek (yalnızca Replace existing definitions açıkken). |
Kept | Mevcut ve dokunulmayacak. |
Error | İçe aktarılamıyor. Mesaj nedenini söyler. |
Her satır etiketi, anahtarı, türü ve bir mesajı gösterir. Uyarılar satırın altında turuncu renkle, dosyanın tamamına ilişkin uyarılar listenin üstündeki bir bildirimde görünür.
- Üzerine yazma konusunda karar verin. Replace existing definitions varsayılan olarak kapalıdır; bu yüzden bu sitede zaten var olan tanımlar tamamen olduğu gibi korunur. Değiştirmek için seçeneği açın. Anahtarı çevirdiğinizde önizleme yeniden yüklenir.
- Import N definition(s) düğmesine tıklayın. Önizlemede oluşturulacak veya değiştirilecek bir şey yokken düğme devre dışıdır.
- Result listesi önizlemenin yerini alır; rozetler Created, Replaced, Kept ve Error olur. Bir bildirim Import finished. der; en az bir satır başarısız olduysa Import finished with errors. See the list below.
Başarısız olan bir satır diğerlerini asla durdurmaz: her öğe ayrı ayrı içe aktarılır. Dosyayı (veya siteyi) düzeltip yeniden içe aktarın; başarıyla geçmiş öğeler bu durumda yalnızca Kept olarak işaretlenir.
Sıra ve referanslar
Öğeler şu sırayla içe aktarılır: post types, taxonomies, options pages, field groups. Bu sıra, bir alan grubunun aynı dosyanın oluşturduğu bir yazı türüne yerleştirilmesini sağlar ve aynı dosyadaki bir yazı türü ile taksonominin birbirine başvurabilmesine olanak tanır. Ne dosyada ne de sitede bulunmayan öğelere yapılan referanslar hatadır.
Bir alan grubuna ne olur
Bir alan grubunu içe aktarmak, onu editörde kaydetmekle aynı koddan geçer:
- Yeni bir grubun tablosu hemen oluşturulur. Çok sayıda yeni grup içeren bir dosya biraz zaman alır.
- Bir grubu değiştirmek, grubu kaydetmenin yaptığı gibi sütunları ekler, yeniden adlandırır, türünü değiştirir ve kaldırır. Çok büyük bir tablo bunun yerine arka planda değiştirilir; bu durumda satırda şu uyarı görünür: The table is large, so the database change runs in the background. The new definition is used once it is done.
- Kaldırılan bir alandaki veri silinmez. Bkz. Alan grubunu güvenle değiştirme.
- Uygun plana sahip olmayan bir sitedeki grup, gelişmiş bir alan türü içeriyorsa başarısız olur: Field "pics": the Gallery field type is not included in your plan.
- Bir terime işaret eden konum kuralları (yazı kategorisi, yazı taksonomisi) terimin id değerini saklar ve id'ler siteler arasında farklıdır. İçe aktardıktan sonra bu kuralları kontrol edin.
Dosyayı kendiniz yazarken anahtarlar ve uid'ler
Anahtarlar, WordPress'in slug'ları temizlediği şekilde temizlenir: küçük harfler, rakamlar, tireler ve alt çizgiler. Bad Key! gibi bir anahtar badkey olarak içe aktarılır.
Alanın uid değerinin olmaması sorun değildir. Mevcut bir grubun üzerine içe aktarırken (Replace existing definitions açıkken), uid değeri olmayan bir alan, kayıtlı uid değerini aynı key değerine sahip alandan devralır; böylece içe aktarıcı aynı alanı görür ve hiçbir sütun silinmez ya da yeniden oluşturulmaz. Yine de uid değerini koruyun; dosyada alan anahtarını yeniden adlandırsanız bile: uid içe aktarıcıya bunun aynı alan olduğunu söyleyen değerdir. Yeni anahtarlı ve uid değeri olmayan alan yeni bir alandır.
Download JSON ile oluşturulan dosyalarda her zaman uid bulunur.
Karşılaşabileceğiniz mesajlar
Dosyanın tamamı reddedilir
Mesaj | Neden |
|---|---|
This file is too large to import. | Tarayıcı denetimi: dosya 5 MB'tan büyük. |
The file is larger than 5 MB. | Sunucu denetimi (WP-CLI ve yerel JSON için de). |
The file is not valid JSON. | JSON değil ya da nesne yerine liste olan bir JSON. |
This file is not a Mass Custom Fields export. |
|
The file has no valid format version. |
|
This file was made by a newer version of the plugin. Update the plugin and try again. |
|
Uyarılar (içe aktarma yine de çalışır)
Mesaj | Anlamı |
|---|---|
Ignored unknown section "name". | Dört bölümden biri olmayan üst düzey bir anahtar. |
Skipped "Field Groups": it is not a list. | Tanım listesi olmayan bir bölüm. |
Bir tanım başarısız olur
Mesaj | Neden |
|---|---|
This entry is not an object and was skipped. | Liste öğesi bir tanım değil. |
This entry has no key. | Anahtar yok: |
This key appears more than once in the file; only the first entry is imported. | Aynı dosyada yinelenen anahtar. |
"fields" must be a list. |
|
Field "a": the field type "x" does not exist. | Bilinmeyen alan türü. |
Unknown location parameter "x". | Eklentinin tanımadığı bir konum kuralı. |
This post type key is reserved by WordPress. | Ad çekirdeğe veya başka bir eklentiye ait. |
This entry is not in the expected format. | Bir değer yanlış türde. |
Something went wrong while importing this entry. Details are in WPM Fields › Settings › Health. | Beklenmeyen bir hata; kaydedilir. |
Geliştiriciler için
Tools ekranı şu REST rotalarını kullanır (ad alanı wpmcf/v1, yalnızca yöneticiler):
Rota | Amaç |
|---|---|
| Katalog: öğeleriyle birlikte türler. |
| Gövde: |
| Gövde: |
Sorun giderme
Önizleme her alan grubu için Error gösteriyor. Bir satırın mesajını açın. En yaygın nedenler, gelişmiş bir alan türü için planın eksik olması ve bu sitede bulunmayan bir şeye işaret eden konum kuralıdır.
Grup içe aktarıldı ama verilerim yok. Tanımlar hiçbir zaman değer içermez. Yazılar için WXR'yi, ACF verileri için ACF'den taşıma yöntemini kullanın.
Replace bir yazı türü için hiçbir şey yapmadı. Yazı türleri ve taksonomiler bütün olarak değiştirilir. Önizleme rozetini kontrol edin: Replace yazmalı, Kept değil. Kept yazıyorsa Replace existing definitions kapalıdır.
"Choose JSON file" dosyamı kabul ediyor ama önizleme boş. Dosya geçerli ancak hiç tanım içermiyor: The file contains no definitions.
Hâlâ takıldınız mı? Destek ile iletişime geçin