Benim özel yazı türü "Slayt gösterisi" (bu yazı türü zaten oluşturulmuş) için özel bir yazı meta kutusu (lar) oluşturmak gerekiyor. Her meta kutu içeriği her slayt slaydında tutar ve karşılık gelen özel alanlara kaydeder. Her meta kutu aşağıdaki alanları içermelidir:
- Başlık (Metin Alanı)
- Resim (img URL'si için bir Metin Alanı veya ideal olarak yayına ekli resimlerin küçük resimlerini gösteren bir Açılır Liste)
- Gömme Kodu (Metin Alanı)
- Açıklama (wysiwyg)
- Slaytı Gizle (Slaytı silmeden geçici olarak gizlemek için kullanılacak onay kutusu)
- Slaydı Sil (bu slayt tarafından doldurulan yayın meta alanlarının içeriğini silen düğme)
Ayrıca "slayt ekle" sağlayan bir yerde bir düğme istiyorum, bu yüzden tıklandığında, ilk bir kopyası olan ancak her özel yazı meta alanına artan bir sayı ekleyen başka bir "Slayt" Özel Meta Kutusu ekler. Şu anda sadece 15 meta kutum var ve Slayt Gösterisi şablonu metaboxların sadece 5'i doldurulursa sadece 5 slayt görüntülenecek şekilde ayarlanmıştır.
Son olarak, "Sürükle ve Bırak" veya sipariş numarasını yazabileceğim başka bir Metin Alanı ile slaytları yeniden sıralamak istiyorum.
Neredeyse "More Fields" eklentisi ve Rarst'ın bazı kod yardımı ile ihtiyaç duyduğum yere aldım . "Daha fazla alan" eklentisi ile her meta kutusunda aşağıdaki alanlar var:
- Başlık (Metin Alanı)
- Resim (Yayına ekli resimlerin açılır listesi)
- Gömme Kodu (Metin Alanı)
- Açıklama (wysiwyg)
- Slaytı Gizle (Slaytı silmeden geçici olarak gizlemek için kullanılacak onay kutusu)
İşte "More Fields" eklentisi aracılığıyla nasıl kurulum var bir ekran görüntüsü:
Buradaki sorun, "Daha Fazla Alan" <?php delete_post_meta($post_id, $key, $value); ?>
hiçbir yerde kullanılmadığı için bir slayt silindikten sonra silinmenin bir yolu olmamasıdır . Eklentideki diğer sorun, çok güvenilmez olması ve güncellemelerle sık sık kesilmesidir.
Aşağıdakileri içeren kendi özel meta kutuları ile benzer bir çözüm uygulayabildim:
- Başlık (Metin Alanı)
- Resim (img URL'si için Metin Alanı)
- Gömme Kodu (Metin Alanı)
- Açıklama (Metin Alanı)
- Slaytı Gizle (Slaytı silmeden geçici olarak gizlemek için kullanılacak onay kutusu)
Bu uygulama ile çalışmak için birden fazla TinyMCE alan veya görüntü açılır kutusunu elde edemiyorum. TinyMCE kodu ilk meta kutusunun artımlı kopyalarını oluşturan kodu ekleyene kadar çalışıyor gibi görünüyor Warning: array_push() [function.array-push]: First argument should be an array...
.
Ayrıca, şu anda yazarlarıma her slayt için bir video veya resim koymayı bilmek için güveniyorum ve sorun değil ama slaytın hangisi olduğunu seçmelerini sağlayan bir radyo düğmesine sahip olmak daha iyi olabilir (muhtemelen varsayılan resim), slayt gösterisi şablonundaki koşullu görüntüleme ifadesine bağlanır.
Yazma panelinin üst kısmındaki "Resimleri Yükle" diyen özel bir meta kutuyu önemsemesem de, resim yüklemelerini kenar çubuğundaki yerleşik "Öne Çıkan Resim" kutusu üzerinden yapıyorum.
Nihayetinde buna benzer bir slayt gösterisi arıyorum: http://www.nytimes.com/slideshow/2010/08/10/science/20100810angier-1.html . Benim de slaytta bir resim yerine içerik olarak bir videoya sahip olabilmeyi istiyorum. Yazarlarım için sezgisel ve kullanımı kolay bir Yönetici paneline ihtiyacım var (çok teknoloji meraklısı değil ve html ve / veya kısa kodlar kullanarak güvenilir değiller). Örnekten anlaşılamaması durumunda, her slayt yeni bir sayfa görüntüleme oluşturmalıdır.
Drag'n'Drop yeniden sıralaması yüksek bir öncelik değil, ama iyi olurdu. Bunu gerçekten iyi işleyen bir eklenti buldum: SlideDeck . Ne yazık ki eklenti benim ihtiyaçlarına uygun değil ama slaytların sipariş işleme şekli oldukça kaygan. Kenar çubuğundaki, slaytları istediğiniz sıraya sürüklemenizi sağlayan ayrı bir meta kutusudur. Yazma paneline başka bir Slayt Meta Kutusu ekleyen bir "Slayt Ekle" düğmesini tıklatarak slaytları bu şekilde ekleyebilirsiniz. İşte bir ekran görüntüsü:
Ayrıca wordpress deposunda daha fazla ekran görüntüsünü de görebilirsiniz .
İşte tüm kodum:
Slayt Gösterisi Yazı Tipimi ve Slayt Gösterisi Sayfalandırmamı ayarlayan işlevler: http://loak.pastebin.com/g63Gf186
Meta Kutularımı temel aldığım DeluxeBloggingTips.com (DBT) orijinal kodu : http://loak.pastebin.com/u9YTQrxf
Aynı meta kutunun artımlı sürümlerini vermek için değiştirdiğim DBT kodunun sürümü: http://loak.pastebin.com/WtxGdPrN
Chris Burbridge'in TinyMCE'nin birden çok örneğine izin vermek için oluşturduğu DBT kodunun değiştirilmiş bir sürümü : http://loak.pastebin.com/Mqb3pKhx Bu kodla TinyMCE'ler çalışır.
Artışımı birleştirmeye çalışan Burbridge kodunda yaptığım değişiklik ve yayına eklenen tüm görüntülerin açılır listesinden görüntüyü seçmenize izin veren bir alan: http://loak.pastebin.com/xSuenJTK Bu denemede TinyMCE bozuldu ve açılır menü çalışmıyor.
Bu muhtemelen önemli değil, ancak merak ediyorsanız, burada gömme kodunu özel post meta'dan çekmek, yeniden boyutlandırmak ve yazıya eklemek için kullandığım kod: http://loak.pastebin.com / n7pAzEAw
Bu, orijinal sorunun projenin mevcut durumunu yansıtacak şekilde düzenlenmiş ve yorumlarda yayınlanan soruları cevaplayan bir sürümüdür. Bu ödülün için teşekkürler Chris_O . Ayrıca sayesinde Rarst ve Justin bu bir sürü bana yardım ettiğin için ThemeHybrid.com forumu . Bu saatler ve saatler geçirdim ve sıkışmış (Ben bu soruya yalnız birkaç saat geçirdim). Herhangi bir yardım büyük mutluluk duyacağız.