Beslemeler ve eşitleme
7 dk okuma
Bir veri beslemesi (data feed), bir veri tablosunu tablonun dışındaki bir kaynakla (bir Google Sheets dosyası ya da kendi WordPress içeriğiniz) eşitler. Bir tablonun tek beslemesi olur. Bir kez kurarsınız; Sync now kaynağı okur ve satırları günceller. Business planı ve üzerinde besleme, zamanlanmış olarak kendiliğinden de eşitlenebilir.
Tabloyu açın, Import & feed sekmesine gidin ve Data feed kartını bulun: "Fill this data table from a Google Sheet or from your WordPress content instead of uploading files."
Planlar
Ne | Pro | Business, Agency ve deneme |
|---|---|---|
Besleme kurma, Sync now | Evet | Evet |
Sync automatically (saatlik, 6 saatlik, günlük, haftalık) | Hayır. Denetim bir plan rozetiyle devre dışıdır ve şu metni gösterir: "Scheduled sync is part of the Business plan. You can always sync by hand." | Evet |
Business lisansı Pro'ya düşerse veya süresi dolarsa zamanlanmış çalıştırmalar durur (Scheduled sync is available on the Business plan and above.); kaydettiğiniz besleme kalır ve Pro'da Sync now çalışmaya devam eder. Lisansın süresi dolduğu sürece hiçbir şey eşitlenmez (Syncing needs an active license.).
Besleme kurma
- Kaynağı Rows come from alanında seçin:
Seçenek | Kaynak |
|---|---|
Upload CSV files by hand | Besleme yok. Satırlar CSV içe aktarmalarından gelir. Bunu seçip kaydetmek beslemeyi kaldırır. |
Google Sheets link | Yayımlanmış veya paylaşılmış bir Google Sheets dosyası (ya da izin verilen bir ana makinedeki başka bir CSV bağlantısı). |
WordPress content | Tek bir yazı türünün yayımlanmış yazıları. |
WordPress categories and tags | Tek bir taksonominin terimleri. |
WooCommerce products | Fiyat, SKU ve stok bilgisiyle ürünler. Yalnızca WooCommerce etkinken sunulur; aksi hâlde yardım metni şunu söyler: "WooCommerce products appear here when WooCommerce is active." |
- Kaynak ayrıntılarını doldurun (aşağıda). Bir Google Sheets bağlantısı için Read columns düğmesine tıklayın; diğer kaynaklar seçilir seçilmez sütunlarını okur.
- Şu bölümde: Match columns tablonuzun her sütunu için onu dolduracak besleme sütununu seçin (seçici Feed column for {label} veya - Skip -). Adı bir besleme sütunuyla eşleşen sütunlar önerilir, ancak yalnızca boş bir eşlemeye.
- Şu bölümde: Existing rows beslemenin tabloda zaten bulunan satırlara nasıl davranacağını seçin. Bir besleme yalnızca iki seçenek sunar: Update rows with the same unique value, add the rest ve Replace them with the new rows (rows missing from the new data are deleted). Ekleme seçeneği sunulmaz, çünkü her eşitlemede tüm satırları yeniden eklerdi. Seçenekler tıpkı bir içe aktarmadaki gibi davranır; ikisi de benzersiz bir sütun ister: Match rows by... (Replace için eşleştirme alanı isteğe bağlıdır ama önerilir; çünkü satır ID'lerini ve onlarla birlikte oluşturulan sayfaları korur).
- İsterseniz Sync automatically seçeneğini ayarlayın (Business).
- Şuna tıklayın: Save feed. Bir bildirim şunu söyler: "Data feed saved. Sync now to fill the data table."
- Şuna tıklayın: Sync now. Çalışırken bir ilerleme çubuğu ve şu ileti görünür:
Syncing... N rows so far. You can leave this page; the sync continues in the background.
Sync now düğmesi, kaydedilmemiş değişiklikler varken ("Save your changes before syncing.") ve bir eşitleme çalışırken devre dışıdır. Beslemeyi kaldırmak için Upload CSV files by hand seçeneğini Rows come from alanında seçin ve Remove feed düğmesine tıklayın. Satırlar kalır; yalnızca besleme ve zamanlaması gider. Tabloyu silmek beslemesini de kaldırır.
Durum
Formun altında kart şunları gösterir:
Last sync 5 minutes agove ardından şuna benzer bir ileti:9 rows synced, 0 failed.ya daLast sync failed 5 minutes agove ardından neden ile "The rows from the previous sync were kept." iletisi;- Some rows could not be written, ilk birkaç veritabanı iletisiyle birlikte;
- The sync stopped, bir çalıştırma yeniden denemelerin ardından vazgeçtiğinde;
Next scheduled sync: {date and time}bir zamanlama etkinse.
Başarısız bir kaynak tabloyu asla boşaltmaz: besleme, herhangi bir satıra dokunulmadan önce okunur ve denetlenir.
Google Sheets bağlantısı
E-tablonuzun adresini Google Sheets link alanına yapıştırın:
- Share link (
https://docs.google.com/spreadsheets/d/.../edit#gid=0): e-tabloyu Anyone with the link ile (görüntüleyen olarak) paylaşın. Eklenti bağlantıyı e-tablonun CSV dışa aktarımına çevirir ve sekmeyi (gid) dikkate alır. - Publish to the web bağlantısı (File › Share › Publish to the web › Comma-separated values) de çalışır.
pubhtmlbağlantısı CSV biçimine dönüştürülür. - İzin verilen bir ana makineye (host) aitse bir CSV dosyasına doğrudan bağlantı da çalışır (aşağıya bakın).
Eklentinin uyguladığı kurallar:
- Yalnızca
https://bağlantıları.http://ile başlayan bir bağlantı reddedilir (Enter a valid link.). - Adreste kullanıcı adı veya parola bulunamaz (
Links with a user name or password cannot be used.). - Yalnızca izin verilen ana makineler:
docs.google.comvedoc-*-sheets.googleusercontent.com(Google'ın dışa aktarımları yönlendirdiği yer). Diğer tüm ana makineler reddedilir:Links to example.com are not allowed. Use a Google Sheets link, or allow the host with the wpmcf/data_tables/feed_hosts filter.Yönlendirmeler elle izlenir (en fazla üç) ve her adım yeniden denetlenir. - Kendi ağınızı gösteren adresler (localhost, özel ve ayrılmış IP adresleri) WordPress'in güvenli HTTP katmanı tarafından reddedilir.
- Yanıt CSV gibi görünmelidir. CSV yerine bir web sayfası dönerse şu ileti görünür:
The link returned a web page instead of CSV. In Google Sheets use File › Share › Publish to the web as CSV, or share the sheet with "Anyone with the link". - Boyut sınırı 20 MB (
wpmcf/data_tables/feed_max_bytes) ve 30 saniyelik zaman aşımı (wpmcf/data_tables/feed_timeout).
Sütunlar, e-tablonun ilk satırındaki başlık metnine göre eşleştirilir; bu yüzden e-tablonun sütunlarının sırasını değiştirmek eşitlemeyi bozmaz. Eşlediğiniz bir başlık kaybolursa eşitleme durur: The column "Price" is missing from the file. Check the sheet or change the column mapping. E-tablonun ilk satırı başlık satırı olmalıdır.
Başka bir ana makineye izin verme
Ana makineyi wpmcf/data_tables/feed_hosts filtresine, küçük bir eklentide veya temanızın functions.php dosyasında ekleyin:
add_filter( 'wpmcf/data_tables/feed_hosts', function ( array $hosts ): array {
$hosts[] = 'example.com'; // exactly this host
$hosts[] = '*.cdn.example.org'; // any sub-domain, but not cdn.example.org itself
return $hosts;
} );Bir ad içindeki * yalnızca tek bir etiket içinde eşleşir. Bağlantı yine de https olmalı ve yine CSV ile yanıt vermelidir.
Sheets bağlantısı iletileri
İleti | Anlamı |
|---|---|
| HTTP 401 veya 403. |
| HTTP 404. |
| Diğer tüm hatalar. |
| Ağ hatası veya zaman aşımı. |
| Üçten fazla yönlendirme. |
| Sıfır bayt. |
| Besleme sınırı aşıldı. |
| Bir PDF, ZIP veya görsel. |
WordPress içerik beslemeleri
Bunlar kendi sitenizi okur, bu nedenle bağlantı gerekmez.
WordPress content, yayımlanmış ve parola korumalı olmayan yazıları, Post type alanında seçtiğiniz yazı türünden okur (liste, Media dışında, yönetim ekranı olan herkese açık yazı türlerini sunar; yardım metni: "Only published posts without a password are read.").
Besleme sütunu | Değer |
|---|---|
ID, Title, Slug, Excerpt (etiketler temizlenmiş), Permalink | Yazının temel bilgileri. |
Publish date, Last modified |
|
Author name, Featured image URL, Parent title | Görünen ad, tam boyutlu görselin adresi, üst öğenin başlığı. |
Türün her herkese açık taksonomisi için bir sütun, örneğin Categories, Tags | Terim adları şununla ayrılır: |
| O yazı türüne uygulanan alan gruplarının üst düzey alanları, düz metin olarak. Sütun anahtarı |
Seçenek WooCommerce products olduğunda aynı listeye Price, Regular price, Sale price, SKU ve Stock status eklenir; katalogda gizli ürünler dışarıda bırakılır.
WordPress categories and tags seçeneği, Taxonomy alanında seçtiğiniz taksonominin terimlerini okur (yönetim ekranı olan herkese açık taksonomiler): ID, Name, Slug, Description, Permalink, Number of posts, Parent name ve o taksonomiye uygulanan alan grubu sütunları.
Bir içerik beslemesi için iyi bir benzersiz sütun ID'dir (Number türünde ve Unique olarak işaretlenmiş bir sütun) ya da slug'dır.
Zamanlama (Business)
Sync automatically şu seçenekleri sunar: Only when I click Sync now, Every hour, Every 6 hours, Daily ve Weekly.
- İlk zamanlanmış çalıştırma, beslemeyi kaydettikten bir aralık sonra başlar; hemen başlamaz. Anında çalıştırmak için Sync now düğmesine tıklayın.
- Zamanlar UTC olarak tutulur ve tarayıcınızın saat diliminde gösterilir.
- API üzerinden 15 dakikadan bir yıla kadar her aralık kabul edilir; daha kısa değerler 15 dakikaya yükseltilir.
- Zamanlanmış çalıştırmalar her arka plan işi gibi WP-Cron / Action Scheduler kullanır. Trafiği az bir sitede veya WP-Cron devre dışıyken bir sistem cron işi kullanın; bkz. Arka plan görevleri.
- Tabloyu okuyan programatik SEO görevleri değişiklikleri bir sonraki çalıştırmada alır; bkz. Programatik SEO.
Diğer eşitleme hataları
İleti | Anlamı |
|---|---|
| Hiçbir şey eşlenmedi (eşlenen sütunları tablodan kaldırdığınızda da). |
| Update (veya eşleştirme alanıyla Replace) seçiliyken eşlenmiş benzersiz sütun olmadan kaydetme. |
| Tablonun sütunları değiştikten sonra, eşitleme sırasında yapılan aynı denetim. |
| Bir içerik beslemesi sütunu kayboldu (örneğin bir alan grubu değişti). |
| Eşitleme çalışırken tablo silindi. |
| WooCommerce olmadan WooCommerce ürünleri. |
| Kaynak ayrıntısı boş. |
Geliştiriciler için
wpmcf/data_tables/feed_hosts, wpmcf/data_tables/feed_max_bytes ve wpmcf/data_tables/feed_timeout değerleri filtreler başvurusunda listelenir. Bir eşitleme bittiğinde wpmcf/data_tables/synced tetiklenir; tablo anahtarını ve bir özeti iletir.
Hâlâ takıldınız mı? Destek ile iletişime geçin