WordPress elektrikli aletler – Öldüren bir portföy oluşturmak için eklenti
WordPress topluluğu bugüne kadar birçok şey yapan 23.000’den fazla eklenti var. Size iyi yapılandırılmış bir portföy başlatmanıza yardımcı olabilecek üç ücretsiz kaliteli eklenti göstereceğim. TL; Dr. Makaleyi taramak için buradaysanız, burada bahsettiğim eklentilerin bir listesi var:
UI türü özel gönderi türü
Meta kutu
2 Gönderi Gönder
Tema kaynak kodunu indirin. Şimdi çoğu için, bu eklentilerin tümü WordPress API’sını kullanarak nasıl yapacağımızı bilmemiz gereken bir şey yapıyor. Kullanıcı arayüzü özel gönderme türleri ve taksonomi özel gönderme türleri. Meta kutusu daha kolay bir meta kutu ateşi yapar. Ve yayın 2 gönderisi yazı türleri arasında ilişki kurar.
Kendi WordPress eklentimizi yapabildiğimizde neden bunları yapmak için eklentileri kullanın? Bundan bir ağırlık artışı almak için. Benim gibiyseniz, düzinelerce, belki yüzlerce WordPress teması inşa ettiniz ve aynı kodu tekrar tekrar yazmaktan bıktınız. Bu araç seti, bir tema oluştururken başlangıç için çok külfetlidir ve başlangıçtan itibaren size birçok özellik verir, böylece gerçekten önemli olanlara odaklanabilirsiniz – ayarlamalar. Buradaki son ürün, bu olağanüstü eklenti ile yapacağımız yapay portföyün bazı ekran görüntüleridir.
Özel bir WordPress teması oluştururken meta kutusu her zaman çok kullanışlıdır. Add_meta_box () () işlevini kullanarak düzenlemek nispeten kolaydır; Bununla birlikte, görüntü yüklemeleri, renk seçimi ve daha sofistike girişlerle uğraşırken sıkıcı olabilir. Meta Box, ateşle kullanılmanız için varsayılan olarak sağlanan WordPress’ten bile daha basit olan çeşitli girişler sağlar. Yine, meta kutusunu kod aracılığıyla tanımlarsınız. Bu eklenti yalnızca gelişmiş giriş için genişletilmiş işlevsellik sağlar. 2 Gönderi Gönder WordPress’in kutudan çıkmadığı bir şey ilişki türüdür. Yayınlar 2 yayın kullanarak, bir kod satırı ile yazı türünü birbirine bağlayabilirsiniz ve eklenti, bağlantı kurmak için düzenleyici sayfasına otomatik olarak bir meta kutusu ekler. Bu, insanları projeye, projeye, müşterilere vb. Bağlamak istediğinizde oldukça yararlıdır. Tüm bunları birleştirin, böylece kitimde düşük güce sahip olursunuz, pratik olarak kullanmanın zamanı geldi. Ne kadar kolay olduğunu göstermek için bir saatten daha kısa bir sürede tamamen çalışan bir portföy teması oluşturacağız. Not: Size minimum bir CSS göstereceğim, sadece yirmi on iki inşa edeceğim, çünkü bu makale portföy tasarımı ile ilgili değil, sadece işlevselliği. Bilgilerin mimarisini kısaca planlayarak, içerik yapısı için bir plan yapalım. Amacımız için sahte bir tasarım ajanı olan Creatr ile tanışın. Creatr bize WordPress portföyü için geldi. Portföyün bir projesi olacak – yani bir tür içerik. Portföylerde proje üzerinde çalışan bir ekip olabilir – başka türde içerik ve gönderme ilişkileri de vardır. Son olarak, Creatr’ın birkaç ofisi vardır ve her ofiste ofisin üyesi olan birçok ekip üyesi olacaktır. Yani yayınlarımızın türleri ve ilişkileri:
Ofistenin birçok ekip üyesi var Takım üyelerinin birçok projesi var
Projenin birçok ekip üyesi var
Projenin ekip üyeleri aracılığıyla bir ofisi var
Her bir yazı türü için posta ilişkisine genel bakış, bir dizi farklı meta kutu istiyoruz. Aşağıda her birinin sahibi olacak özel bir alan gösterdim. Ofis
Konum Bir fotoğraf (küçük resim)
Takım üyesi
Rol
Yaş
Eğitim
Bir fotoğraf (küçük resim)
Proje
Müşteri
Bütçe
Bir sürü fotoğraf
Hadi gidelim! Yeni bir WordPress kurulumuyla başladım. Nasıl yapılacağını bilmiyorsanız, WordPress.org web sitesindeki öğreticiyi izleyin. Aşağıda, kolay referanslar için hızlı içeriklerin bir listesidir.
Bir tür gönderi oluşturun
Bir tür yazı tipi oluşturun
Meta kutusu oluşturun
İçeriği görüntülemek için bir sayfa eklemek için içerik ekleyin
Bir ‘Ofis’ sayfası oluşturun
Takım listesi ile bir ofis profili oluşturun
Proje listesi içeren bir ekip üyesi profil sayfası oluşturun
Bir Proje Listesi Sayfası Oluşturun
Tek bir proje sayfası oluşturun
Aşağıdaki eklentiyi indirin, yükleyin ve etkinleştirin.
UI türü özel gönderi türü
Meta kutu
2 Gönderi Gönder
Kurulduktan sonra üç yeni yangın ve yeni düzenleyici sayfamız var! Şimdi çeşitli kodlara yakalanmanın zamanı geldi. Büyük yazı türü. Bu nedenle ofisler, ekip üyeleri ve projeler yapmalıyız. İmleci, yan tarafta “özel yazı türü” adı verilen yeni ayarlar menüsüne gidin ve “Yeni Eklenen” tuşuna basın.
Burada size özel bir sevkiyat veya taksonomi yapma fırsatı verilecektir. Şimdilik CPT’ye tutunalım. Lütfen gönderi türümüz için basit ayarları doldurun.
Ofis için, yazı türünün adı “ofis” olmalıdır Etiket “ofis” olmalı Tek etiket “ofis” olmalı
Bittiğinde “Özel bir yazı türü oluşturun.”
Ekip üyeleri için:
Ekip üyeleri için yazı adı “insanlar” olmalıdır
Etiket “insanlar” olmalı Tek etiket “insanlar” olmalı
Projeler için:
Proje için yayın adı “Proje” olmalıdır
Etiket “proje” olmalı
Tek bir etiket “Proje” olmalıdır
Ayrıca projeye yeterli “tür” de taksonomi ekleyeceğiz. Bunu web sitesinde de bir blogumuz varsa yapıyoruz, bu nedenle varsayılan WordPress kategorisi yayınların bir karışımını geri yüklemez.
Catatan: penting bahwa slug untuk taksonomi adalah “tipe proyek” karena “tipe” dicadangkan untuk fungsionalitas inti WordPress. Label bisa saja hanya “Jenis” dan “Jenis”. Jangan lupa untuk memilih “Projects” untuk input “attach to post type”. Tekan “buat taksonomi khusus.”Setelah Anda membuat semuanya, arahkan kembali ke item menu Custom Post Types, dan pilih manage post types. Di sini Anda akan disajikan dengan tiga jenis posting yang baru saja kami buat. Dalam sebuah UI. Brüt. Anda juga akan melihat bahwa ada item menu baru di wp-admin. Mari kita transfer mereka ke kode!
TwentyTwelve ini functions.php Untuk menjaganya tetap bersih, kita akan menempatkan semua kode yang ditulis dalam artikel ini di atas file functions.php TwentyTwelve. Buka di editor teks favorit Anda. Tepat setelah tag <?php pembuka, tekan kembali beberapa kali dan tambahkan judul komentar: /**
* Post Types: Offices, People and Projects
*/ Kembali ke layar admin, dan pilih "Dapatkan kode" untuk Offices. Salin semua ini, dan tempel di bawah judul komentar yang baru saja Anda tambahkan. Ulangi ini untuk Orang dan Proyek. Setiap cuplikan kode akan terlihat seperti ini: register_post_type('offices', dizi ( ‘label’ => ‘Offices’,
‘description’ => ”,
‘public’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘capability_type’ => ‘post’,
‘hierarchical’ => false,
‘rewrite’ => array(‘slug’ => ”),
‘query_var’ => true,
‘exclude_from_search’ => false,
‘supports’ => array(
‘title’,
‘editör’,
‘excerpt’,
‘trackbacks’,
‘custom-fields’,
‘comments’,
‘revisions’,
‘thumbnail’,
‘author’,
‘page-attributes’
),
‘labels’ => array (
‘Adı’ => ‘ofisler’, ‘singular_name’ => ‘ofis’,
‘menü_name’ => ‘ofisler’,
‘Add_new’ => ‘Office ekle’,
‘Add_new_item’ => ‘Yeni ofis ekle’,
‘Düzenle’ => ‘Düzenle’,
‘edit_item’ => ‘Office Düzenle’,
‘New_item’ => ‘yeni ofis’,
‘Görüntü’ => ‘Office’i görüntüle’,
‘view_item’ => ‘Office’i görüntüle’,
‘Search_items’ => ‘arama ofisleri’,
‘not_found’ => ‘ofis bulunamadı’,
‘NOT_FOUND_IN_TRASH’ => ‘çöpte ofis bulunamadı’,
‘Ebeveyn’ => ‘Ana ofis’,
),
)
); Bu işlevinizden sonra. Bir kez orada, yaptığımız yeni “proje türünün” taksonomisini arayın. “Kodu Al” tuşuna basın ve özel posta türü kayıt kodunun altına yapıştırın.
Hızlı bir değişiklik yapmalıyız – taksonomi koduna olduğu gibi izin verirsek, bir kategori gibi davranmasını istediğimiz bir nişan sistemi olarak hareket edecektir. “Hiyerarşik” özelliği bundan değiştirin: Register_taxonomy (‘Proje tipleri’, dizi (
0 => ‘Projeler’,
), Dizi (‘hiyerarşik’ => false, ‘etiket’ => ‘type’, ‘show_ui’ => true, ‘Query_var’ => true, ‘yeniden yazma’ => dizi (‘slug’ => ”), ‘singular_label’ => ‘tür’)); Bunun için: Register_taxonomy (‘Proje tipleri’, dizi (
0 => ‘Projeler’,
), Dizi (‘hiyerarşik’ => true, ‘etiket’ => ‘tür’, ‘show_ui’ => true, ‘Query_var’ => true, ‘yeniden yazma’ => dizi (‘slug’ => ”), ‘singular_label’ => ‘tür’)); Muhteşem. İstenirse, eklenti sayfasını açın ve özel posta türü eklentisini devre dışı bırakın. Ciddi anlamda! Her şey yolunda giderse, gönderi türünüz ve taksonomi hala menüde olacak, bu yüzden temanız için mevcut kalacak. Mevcut ilişkiyi yayınlamak özel bir yazı hazırladık, aralarında bir ilişki kurmak çok kolaydır. Aslında ilişki başına sadece bir satır! Aşağıda yapmak istediğimiz ilişkinin revizyonlarının bir listesi bulunmaktadır. Ofistenin birçok ekip üyesi var
Takım üyelerinin birçok projesi var
Projenin birçok ekip üyesi var
Projenin bir ofisi var
2 gönderi yayınlamanın harika kısmı, bir ofis tarafından sahip olduğu bir proje olan bir yuvalama ilişkisi yapabilmemizdir. Bu tür karmaşık bağlantı, içerik düzenlemesinde WordPress’in önüne Ruby On Rails gibi bir çerçeve yerleştiren özelliklerden biridir. Aşağıda bunu gösteren hızlı bir diyagram, kırmızı çizgi yuvalama ilişkisi haline gelir. İşlevleri içeren bir kanca ile bağlantı kaydedersiniz. Basit. Aşağıda istediğimiz ilişkiyi yapmak için ihtiyacınız olan 2 görüntü var. /**
* İlişkiler sonrası
*/
Portfolio_relationships () işlevi {
p2p_register_connection_type (dizi (
‘Adı’ => ‘offices_to_people’, ‘=>’ Ofislerinden ‘,
‘to’ => ‘insanlar’
));
p2p_register_connection_type (dizi (
‘Adı’ => ‘people_to_projects’,
‘=>’ İnsanlardan ‘,
‘to’ => ‘Projeler’
));
}
Add_action (‘p2p_init’, ‘portfolio_relationships’); İşte burada. Sayfayı ziyaret ederseniz, yeni bir proje ekleyin, hemen insanlarla bağlantı kurabileceğimizi göreceksiniz. Aynı şey insanlar ve ofisler için de geçerlidir. Bu ilişkiyi bir proje üzerinde çalışan ekip üyelerini gösteren temamızda göstermek istediğimizde bizim için yararlıdır. Blogumuza biraz içerik eklediğimizde bu oynayacak. Temel bilgileri en temiz veritabanı için önceden tamamlayalım. Meta kutusu Meta kutusu eklentisini etkinleştirdiğimiz için öğreticinin başlangıcında yeni API hemen bizim için kullanılabilir. Bu eklentiyi seviyorum çünkü yangın temelde meta kutuyu oluşturan bir bilgi koleksiyonudur. Bu, bu sözdizimini izler: function register_my_meta_boxes () {
$ meta_boxes = array ();
$ meta_boxes [] = dizi (
‘başlık’ => ‘meta kutu başlığı’,
‘Sayfalar’ => dizi (‘yazı’, ‘türler’, ‘burada’),,
‘Alanlar’ => dizi (
dizi ( ‘İsim’ => ‘Alan başlığım’,
‘Type’ => ‘metin’
)
)
);
$ meta_boxes [] = dizi (
// Burada ikinci meta kutusu için bilgi ve alanlar
);
foreach ($ meta_box olarak $ meta_box) yeni rw_meta_box ($ meta_box);
}
Add_action (‘admin_init’, ‘register_my_meta_boxes’); Oldukça basit. Kısa detaylar aşağıdaki gibidir:
Boş bir dizi yap
Diziye 2 meta kutu ekleyin
Yeni oluşturulan Meta kutusunu tekrarlayın ve kayıtlı
Bunun en büyük yanı, çeşitli girişleri kullanabilmemizdir – 19 tam olarak. Tam listeyi görebilirsiniz, ancak amacımız için sadece birkaç tane kullanacağız. Meta Box “Office” Hızlı özet için, her ofis için fotoğraf ve yerler istiyoruz. Bir fotoğraf için Proje Küçük Resmi (Core) kullanabileceğimiz için, ihtiyacımız olan tek şey bir yer. Basit! Aşağıdaki kod hemen her ofis için metin tabanlı konumları belirlememizi sağlayan bir meta kutusu oluşturacaktır. Post kod türü kodunun altında, aşağıdakileri ekleyin. İşlev register_portfolio_meta_boxes () {
$ öneki = ‘p_’;
$ meta_boxes = array ();
$ meta_boxes [] = dizi (
‘başlık’ => ‘ofis konumu’,
‘Desc’ => ‘Lütfen ofisin fiziksel konumunu gir’,
‘Sayfalar’ => dizi (‘ofisler’),
‘Bağlam’ => ‘taraf’,
‘Alanlar’ => dizi (
dizi (
‘İsim’ => ‘konum’,
‘id’ => $ öneki. ‘Konum’,
‘Desc’ => ‘Lütfen ofisin fiziksel konumunu gir’,
‘Type’ => ‘metin’
),
)
);
foreach ($ meta_box olarak $ meta_box)
yeni RW_META_BOX ($ meta_box);
}
Add_action (‘admin_init’, ‘register_portfolio_meta_boxes’);
Ofis için “Yeni Ekle” sayfasına giderseniz, sol üstte yeni bir meta kutusu göreceksiniz. Bunu yığının altına yerleştirmek için, koddaki meta kutusunun bağlamını bildirdiğiniz hemen altında ‘öncelik’ => ‘varsayılan’ ekleyin. Meta Box Herkes için insanlar için, rol, yaş, eğitim ve fotoğrafların görüntülenmesini sağlayan bir meta kutusu istiyoruz. Bir kez daha, Meta Post Meta kutusu tarafından tek bir fotoğraf işlenebilir; Ancak, yaş ve eğitim için ayrı bir tane ihtiyacımız var. Buradan, kayıt_portfolio_meta_boxes () kayıt işlevine ekliyoruz. Birinin birçok başlığı veya eğitimi varsa, alanı klonlanabilir. Aşağıda görüldüğü gibi saha beyanına ‘klon’ => true özelliğini ekleyin. Function register_portfolio_meta_boxes () {$ prefix = ‘p_’;
…
$ meta_boxes [] = dizi (
‘Başlık’ => ‘Kişisel Bilgiler’,
‘Desc’ => ‘Lütfen bu kişinin yaşını ve eğitimini gir’,
‘Sayfalar’ => dizi (‘insanlar’),
‘Alanlar’ => dizi (
dizi ( ‘İsim’ => ‘rol’,
‘id’ => $ öneki. ‘Rol’,
‘Desc’ => ‘Bu kişi ne yapıyor?’
‘Type’ => ‘metin’
),
dizi (
‘İsim’ => ‘yaş’,
‘id’ => $ öneki. ‘Yaş’,
‘Desc’ => ‘Lütfen bu kişinin yaşını gir’,
‘Type’ => ‘metin’
),
dizi (
‘İsim’ => ‘eğitim’,
‘id’ => $ öneki. ‘Eğitim’,
‘Desc’ => ‘Lütfen bu kişinin eğitimini gir’,
‘Type’ => ‘metin’,
‘Klon’ => doğru
),
)
);
…
} … “Eklenen Yeni Kişi” sayfasını ziyaret ederek, yaş ve biraz eğitim ekleyebilen yeni meta kutumuzu orada görebilirsiniz.
Son Proje meta kutusu, her projeye müşteri, bütçeler ve bazı resimler eklemek istiyoruz. Burada, klon özelliğine gerek yoktur. Projeye güçlük çekmeden kolayca bazı resimler ekleyebilir ve sipariş edebiliriz. İşlev Register_portfolio_meta_boxes () {…
$ meta_boxes [] = dizi (
‘Başlık’ => ‘Proje Verileri’,
‘Desc’ => ‘Proje bilgileri buraya gidiyor.’
‘Sayfalar’ => dizi (‘projeler’),
‘Alanlar’ => dizi (
dizi (
‘Adı’ => ‘müşteri’,
‘id’ => $ öneki. ‘Müşteri’, ‘Desc’ => ‘Lütfen bu proje için müşteriyi gir’,
‘Type’ => ‘metin’
),
dizi (
‘İsim’ => ‘bütçe’,
‘id’ => $ öneki. ‘Bütçe’,
‘Desc’ => ‘Lütfen bu proje için bütçeyi gir’,
‘Type’ => ‘metin’
),
dizi (
‘Adı’ => ‘Proje Görüntüleri’,
‘id’ => $ öneki. ‘Proj_images’,
‘Desc’ => ‘İstediğiniz kadar görüntüyü yükleyin ve yeniden sıralayın!’,
‘Type’ => ‘resim’
),
)
);
…
} … Tabii ki, resim yükleme için tüm işlevler sizin için sağlanır ve resimleri yükleyebilir ve yeniden düzenleyebilirsiniz. En basit görevlerde kimin kolayca hayal kırıklığına uğradığını anlamayan müşterilerle uğraşırken bunu çok yararlı buldum.
Doldur! Artık özel yayınlarımızın, ilişkilerimizin ve meta kutularımızın her türü tamamlandı, portföye (son olarak) sahte içerik ekleyebiliriz. Zahmet etmek istemiyorsanız, neyse ki sahte portföyümü sizin için ihraç ettim. Ne yazık ki, kendinize birkaç resim yüklemelisiniz. İçeriğimizin yapısı altındaki en iyi içerik, yüksek seviyeli bir içerik öğesi olarak bir ofise sahiptir, her ofisin birçok üyesi vardır ve her üyenin birçok projesi vardır. İki ofis yaparak başlayalım- “Genel Müdürlük” ve “Tasarım Kanadı”. “Ofisinizi Ekle” ekranınızı açın ve birkaç ayrıntı girin. Spesifik olmaya gerek yok, bu sadece eğlence için. Her ikisini de yaptıktan sonra bazı insanları ekleyin. Bir kez daha, detaylara özgü olmaya gerek yok, bu sadece oluşuyor. Ancak, şimdi insanlar ve ofisler arasında ilişki kurabiliriz! “Ofis bağlı” meta kutusunda “Bağlantı Oluştur” u tıklayın ve ofisi seçin. Patlama. Her gönderi artık doğrudan temamızdaki işlevler aracılığıyla kullanılabilir. Proje seviyesine ulaştığımızda bu gerçekten parlayacak.
Yaptığımız özel meta kutuyu tam olarak kullandığınızdan emin olun! Birkaç kişi yaptıktan ve bunları birkaç ofise bağladıktan sonra, “Yeni Ekle” proje sayfasını açın. Sadece bir avuç proje yapılacak. Meta kutusu eklentisinin güçlü yeniden düzenlemesinin nasıl çalıştığını görebilmemiz için bazı fotoğraflar yüklemeyi unutmayın. İnsanları her proje için ayarlayın, bir veya daha fazla olabilir. Bu sayede, Ofis ile proje ilişkisini görebileceğiz.
Son sayfayı oluşturun, yeni yaptığımız bilgileri görüntülemek için birkaç sayfa eklememiz gerekir. Sayfayı oluşturmak kolaydır – “Örnek sayfası” sayfasını silebilir, ardından “Office” ve “Proje” ekleyebilirsiniz. İki ofisimiz ofis bahçesinde gösterilecek ve tüm projeler proje sayfasında gösterilecek. “Takım Üyesi” sayfasını ortadan kaldırıyoruz, çünkü tek bir ofis sayfasında görüntülenecek. Ofis listeleri Ofis listelerini görüntülemek için, harika WordPress tema özelliklerinden yararlanabiliriz – sayfadan sonra şablon dosyasının adını oluşturun. Onun için bir şablon, yani “Office” sayfası için, sayfa-offices.php dosyasını adlandırın ve sayfayı görüntülerken kullanılır. Double Index.php ve adını Page-offices.php olarak değiştirin. Şimdi, sayfadaki tüm ofisleri görüntülemek için özel bir sorgu kullanmalıyız. WP_Query’ye aşina değilseniz, Loop’un yayın almak için kullandığı şey budur. Kendi kopyalarını yapabilir ve belirli gönderileri almak için belirli parametreleri geçebiliriz. 21 ve 27. satırlar arasındaki Page-offices.php şablonunu aşağıdakilere güncelleyin. …
‘ofisler’)); ?>
hack_posts ()):?>
heat_posts ()): $ offices_query-> the_post (); ?>
… Burada bazı şeyler göreceksiniz. İlk olarak, yeni WP_Query nesnemizi başlattık, ayrıntılı olarak sadece “ofis” yazı türüyle yayınlamak istiyoruz. Daha sonra döngüyü değiştiririz, böylece HAY_POSTS () ve The_Post (), yalnız kalanların değil, yeni nesnelerimizin işlevleridir. Bu, özel argümanımıza çağrılmasını sağlar. İkincisi, content-office.php bulmak için get_template_part () işlevini değiştirdik. Hiçbir şey olmadığı için, şimdilik sadece content.php kullanacaktır. Kaydederseniz ve ardından ofisimizi içerecek olan ofis sayfasını ziyaret edin! Yanıt bağlantısını ortadan kaldıran, konum ekleme vb. Yapılması gereken birkaç değişiklik vardır. Content.php ve content-office.php, content.php olarak devam edin ve content-ofis.php olur, ardından açılır. İlk olarak, ‘in tüm öğelerini silin. İkincisi, bir yorum hattı olan 26-30 satırlarından kurtulun. Ardından, the_post_thumbnail () i is_single () koşulu altında taşıyın. IS_SINGLE () bölümündeiki öğesinin altında böyle bir ofis konumu ekleyin.
id, ‘p_location’, true); ?>
content-oftice.php artık şöyle görünecek …
id, ‘p_location’, true); ?>
<a href=" “başlık =” “Rel =” Bookmark “>
id, ‘p_location’, true);?>
… Ve “Ofis” sayfasını ziyaret ederseniz, böyle görünecektir!
Ofis Profili Sayfası Şimdi yerinde, ellerimizi bir ofis profili ile kirletebiliriz. Burada, belirli ofislerde çalışan tüm ekip üyelerinin bir listesini yapmak istiyoruz. Content-office.php’yi geri dönüştürebiliriz, ancak bir ofis için yeni bir şablon dosyası oluşturmamız gerekir. Tek.php ve adını single offices.php olarak değiştirin. 19-25 satırını çıkarın. Bu, gezinme ve yorum şablonunu ortadan kaldırır. Çok basit, her ofisle ilgili tüm ekip üyelerini göstereceğiz. Yayınlar 2 yayın, $ post değişkeni aracılığıyla ilişki verileri eklemek için Loop’tan önce aradığımız işlevlere sahiptir. (HAVE_POSTS ()) şartlı olarak aşağıdakileri hemen ekleyin. her bir_connected ($ wp_query, array (), ‘people’); ?> Bu işlevi kırmak, p2p_type () (nesneyi döndüren) işlevi, ilişkinin adının parametresini alır. İlişkileri ilk tanımladığımızı hatırlıyor musunuz? Office_to_people ve people_to_projects olarak adlandırıldı. Burada kullandığımız yer burası. Döndürülen ‘her_connected’ işlevi $ wp_query gerektirir, çünkü tek bir yayın verisi tek bir ofis sayfasını ziyaret ederken buradadır. Son olarak, son parametre, bağlı yayınları içeren diziye erişilebilmesi için ne istediğimizi belirlememizi sağlar. “İnsanlar” ı belirleyerek, iade edilen gönderi $ Post-> Kişiler altında satışa sunulacak. Kolay! Şimdi $ Post-> insanlar bizim için müsait, content-office.php’ye geri dönebiliriz. Bunun bir sayfada görüntülenmesini istediğimiz için koşullu eklememiz gerekiyor. Devam edin ve öğe etiketinden hemen önce aşağıdakileri ekleyin Kapanış.
Diğer şeylerin yanı sıra, $ sonrası insanları tekrarlayabilir ve ekip üyelerini kolayca sergileyebiliriz. Kendi profil sayfalarına bağlanması gereken küçük bir küçük resim ve adları istiyoruz. Yeni yaptığımız yeni koşulda, aşağıdaki kodu ekleyin.
Takım
Kişi $ kişi olarak):?>
<a href = "<? php echo get_permalink (
id, dizi (100,100)); ?>
post_title; ?>
Biraz CSS ekleyin ve daha iyi görünecektir. Style.css ve sıfırlama kuvvetinden hemen sonra (satır 178) aşağıdakileri yapıştırın. /* = Özel CSS
————————————————— ——- */ */
.Single H2 {
Marj-Alt: 10 piksel;
}
.Single.
Ekran: satır içi blok;
Marj-sağ: 20px;
Marj-sol: 0;
Metin-align: merkez;
Liste tarzı: yok;
}
.Single.
Marj-Alt: 5px;
} .Single.
Metin dekorasyonu: yok;
} Yenileyin, daha temiz görünen bir sayfa göreceksiniz. Büyük ekip üyesi profil sayfası! Şimdi tek ofis sayfasını tamamladık, tek bir kişi sayfasında çalışmaya başlayabiliriz. Tekrar single.php ve adını single-people.php olarak değiştirin. Yorumları ve navigasyon yayınlarını ortadan kaldırmak için bir kez daha satırları 19-25 silin. İlgili bir yayın listesini görüntülemek için, Office_to_people ilişkisi ile aynı yöntemi sadece people_to_projects ile izliyoruz. Devam edin ve P2P_TYPE’nin işlevini tek-People.php’de WHIRE işlevinden hemen önce (HAVE_POSTS ()) ekleyin. her bir_connected ($ wp_query, array (), ‘projeler’); ?> Birisinin $ Post değişkenine yeni eklediğimiz projelerin bir listesini görüntülemesi için yeni bir “şablon bölümü” de ihtiyacımız var. Contecate.php de, adını content-person.php olarak değiştirin. Onlar için girdiğiniz tüm bilgileri, bulundukları ofis ve üzerinde çalıştıkları proje ile birlikte gösteren bir parça ekleyeceğiz. Content-person.php’de öğesini tekrar silin. 26-30 satırını kaldırın, “Yanıt Bırak” bağlantısından kurtulun. Satır 20 (tek bir yayın sayfası için başlık) altında, daha önce arkaya girdiğimiz tüm meta veriler olan aşağıdaki kodu ekleyin. Orijinal başlığı sildiğinizden emin olun, aksi takdirde iki kez görünür.
id, ‘p_role’, true); ?>
id, ‘p_age’, true); ?> Yıllık
Eğitim
id, ‘p_ducation’, true); ?>
Şimdi biriyle ilgili projeler için. Daha önce, projeyi post değişkenine eklemiştik, yani $ Post-> projelerinde mevcut oldukları anlamına geliyordu. Single-Person.php’de, giriş-concenta div’ini ziyaret edin ve aşağıdakileri doldurun.
Projeler
üzerinde çalıştı
Project Project Olarak Projeler):?>
<a href = "<? php echo get_permalink (
ID, dizi (100,100)); ?>
Post_title; ?>
Bunun, ekip üyelerinin görüntülendiği ofis sayfalarıyla neredeyse eş anlamlı olduğunu görebilirsiniz. Daha önce yazdığımız CSS’yi kullanmak için aynı sınıf “Thums Liste” i kullanıyoruz. Daha iyi görünmesi için biraz daha CSS ekleyeceğiz. Style.css’deki özel CSS yerimize dönerek aşağıdakileri ekleyin. .Single-People .wp-post-image, .Single-Projects .wp-post-image {
Genişlik: 150px;
Şamandıra: sol;
Marj-sağ: 20px;
}
.Single.
Şamandıra: sol;
Genişlik: 300 piksel
}
.Single.
Marj: 10px 0;
}
.Single.
Liste tarzı pozisyon: içeride;
}
.Single-People.
İkisini de temizle;
}
.Single-People.
Genişlik: 100 piksel;
} Seçmenleri eklediğimizi göreceksiniz. Tek Proje. WP-Post-image. Seçim proje sayfasında tek bir profil sayfasına benzer şeyler vereceğiz, böylece temel olarak ek kodlar eklemeden düzeni geri dönüştürebiliriz. Ofis sayfası ve voila aracılığıyla bir kişinin sayfasını yenileyin veya gidin! Tüm projeler iyi ve düzgün bir profil altında kayıtlıdır.
Son fakat en az değil, proje listesi sayfası, onu tasarlayan ofis ile birlikte tüm proje resimlerini (yapılması kolay bir meta kutu kullanarak yüklendi) listeleyen hızlı bir proje sayfası oluşturacağız. Burada iki şey yapıyoruz, önce yüklenen resimlerin bir listesini alıyoruz ve proje ile ilgili projenin üstünde yayınla ilgili bir seviye alıyoruz. Bu, yuvalanmanın (ağaçların) veya daha akıcı bir şekilde yerleştirilmesinin zıttıdır. Ama önce bir proje listesi sayfası oluşturmalıyız. Page-offices.php ve adını Page-Projines.php olarak değiştirin. WP_Query’yi özellikle tüm “ofis” örneklerini “projeler” ile değiştirerek açın ve değiştirin. Çemberiniz şimdi böyle görünecek. ‘Projeler’)); ?>
HAVE_POSTS ()):?>
HOS_POSTS ()): $ Projects_query-> The_Post (); ?>
Ve proje sayfasını ziyaret ederseniz, tüm projelerin bir listesini göreceksiniz. Bu şu anda çok zayıf görünüyor, bu nedenle content-office.php, adını content-roject.php olarak değiştirin. Bu sayfayı gerçekten basitleştirmek istiyoruz, sadece bir resim, başlık ve açıklama. Content-roject.php ile şimdi neredeyse geliyoruz. Proje için, Div başlıklarının hemen üstünde olması gereken 27. satırda 17 satırda the_post_thumbnail () taşıyalım. Div-Content Div’i
id, ‘p_client’, true); ?>
bütçe: id, ‘p_budget’, true); ?> Daha sonra Custom.css’deki özel stilimize aşağıdaki CSS ekleyin. .Page .type-Projects {
Min-yükseklik: 150px
}
.type-Projects .wp-post-image {
Genişlik: 150px;
Marj-sağ: 20px;
Marj-Alt: 20px;
Şamandıra: sol;
}
.type-Projects.Entry-Header {
Ekran: satır içi blok;
Genişlik: 300 piksel;
} Her şey yolunda gidiyor, şimdi güzel görünen bir proje sayfanız olmalı.
Son fakat değil -LEast Proje sayfası, bir proje sayfasında çalışmanın zamanı geldi. Burada tüm Meta’yı, ekip üyeleri ilişkileri aracılığıyla ofislerimizi kullanarak ofise bağlantıları ekleyeceğiz ve ayrıca arkadan yüklenen tüm görüntüleri göstereceğiz. Diğer iki yazı türü gibi, tek projects.php dosyasına ihtiyacımız var. Contecate single offices.php ve content-roject.php contect-office.php çağıracak şekilde değişiklik. Kişi $ Post nesnesine ekleyen bir P2P işlevimiz var. Ayrıca, her ekip üyesine ofis verileri eklemek için P2P_TYPE () işlevini eklememiz gerekir. Tek projects.php dosyası oluşturun.
her the the the the the the the the the the the the the the the the the wp_query, array (), ‘people’); ?>
her bir_connected ($ post-> kişi, array (), ‘ofisler’); ?>
Burada, bu proje ile ilgili insanları $ Post nesnesine eklemek için öncelikle people_to_projects ilişkisini kullanıyoruz. Ardından, ofis verilerini herkese eklemek için yeni $ Post-> People> Nesnesi ve Office_to_people ilişkisini kullanıyoruz. Sonuç olarak $ Post’un şimdi herkes eklenmesi ve herkesin hala posta nesnesinde bir ofisi var. Kullanışlı! Şimdi bu bilgileri content-roject.php’de kullanmalıyız. Content-Office.php’i çoğalttığımız için, ihtiyacımız olan bir koşullu IS_Single () var. Takım üyeleri yerine burada fotoğraf küçük resimleri görüntülemek istiyoruz. Tüm yayın eklerini almak için get_posts () kullanacağız. Ardından, WP_GET_ATTACHENT_IMAGE (), belirli kimliklerle fotoğraf çeken pratik işlevler ve belirli bir genişlik ve yüksekliğe sahip HTML etiketlerini biçimlendiren pratik işlevler kullanarak tekrarlayacağız ve görüntüleri görüntüleyeceğiz. Get_post_custom yerine get_posts kullanmamızın nedeni, meta kutumuzda arkadaki görüntüleri yeniden sipariş ederken gerekli olan menü dizisini kullanabilmemizdir. Aşağıdakilerle eşleşecek olan Content-Project.php’den son satır IS_SINGLE () değiştirin. ‘ek’,
‘post_parent’ => $ post-> id,
‘sipariş’ => ‘menü_order’,
‘sipariş’ => ‘asc’,
‘Excrede’ => get_post_thumbnail_id ($ post-> id)
); ?>
ID, dizi (100,100)); ?>
<? Php Endif; Son olarak, projenin tamamlandığı yere ofis eklemek istiyoruz. Projeye bağlı ekip üyeleri aracılığıyla erişilebilen Single-Projects.php adresindeki ikinci P2P_TYPE çağrımız sayesinde. Sadece bir kez göstermek istiyoruz, bu yüzden projeye eklenecek ilk kişiye ve sonra onlara bağlı ilk ofise ihtiyacımız var. Müşteriyi ve bütçeyi döndüren ilk get_post_meta () işlevinin ilk setinden hemen sonra aşağıdaki kodu ekleyin. Kişiler [0]-> ofisler [0]-> id); ?>
<a href=" “>
Bu uzun bir veri kazısıdır, ancak bu oldukça iyi bir ilişki gösterir. İlk ilgili ekip üyesinin ilk ofisinden posta unvanını alın. Tüm kodlardan sonra, tek proje sayfanız böyle görünecektir.
Son olarak, proje sayfasının güzel görünmesini sağlamak için bu CSS’yi style.css dosyanıza girin. Temel Twentytwelve’nin teması kadar güzel! P.Office-Link {
Marj-Alt: 10 piksel;
}
.Project-Images {
İkisini de temizle;
} Ve son olarak, son atama sayfası böyle görünecektir.
İşte burada!Tüm bunlardan geçerseniz övün.Özel bir yazı türü, özel taksonomi, özel meta kutu ve içerik ilişkisi kullanarak yapılandırılmış bir portföy başlatmak için üç olağanüstü eklentinin nasıl kullanılacağını tartıştım.Bu bileşenlerin çoğunun WordPress’te otantik yangınları olmasına rağmen, bu eklenti çalışmayı hızlı bir şekilde tamamlama işlemini basitleştirir.Hepsinin kod tabanlı çözümler olduğundan bahsetmiyorum bile, bu nedenle tutarlılığı korumak için tüm site örneklerine veritabanı bağımlılığı konusunda endişelenmenize gerek yoktur.Bu araçla, kısa sürede olağanüstü bir portföy yapacaksınız!Referansınız için kaynağı indirin, tema fermuarını yükledim.Kodunuzu bununla karşılaştırmaktan çekinmeyin!Tag: Özel Gönderi Türü