WordPress Kullanıcı Meta Verileri (Kullanıcı Meta) nasıl oluşturulur ve kullanılır
Bu makalede, genellikle WordPress kullanıcıları olarak adlandırılan WordPress kullanıcılarının meta verilerini araştırıyoruz. Diğerleri arasında açıklayacağız:
WordPress’te özel kullanıcı meta alanları nasıl eklenir,
WordPress PHP kodunuzda kullanıcı meta verileri nasıl alınır,
Kullanıcı meta’sını nasıl silinir ve güncelleyebilir ve
Diğer kullanıcılar tarafından düzenlenebilecek kullanıcıların kullanıcılarını kolayca oluşturma tavsiyemiz.
WordPress kullanıcı meta nedir? Meta WordPress kullanıcıları “kullanıcılarınız için özel alanlar” dır. Kullanıcının meta WordPress 3.0’dan beri var ve WordPress: WP_USEMETA’nın tüm veritabanı tablosunu kaplıyor. Yani bu, zaten kurulmuş olan WordPress mimarisinin bir parçası. Şimdi, bu nedir?
En basit tanım aşağıdadır: Kullanıcı meta “Kullanıcınız için Özel Alan” dır. Başka bir deyişle, tıpkı Meta Post WordPress gibi – özel alan olarak da adlandırılır – yayınınız hakkında istediğiniz bilgileri eklemenize olanak tanır, Meta WordPress kullanıcıları kullanıcılarınız hakkında istediğiniz bilgileri eklemenize izin verir. Şimdi: Neden bir kullanıcı meta eklemek istiyorsunuz? WordPress özel kullanıcılarının burada yararlı olduğu örnekler, aklımda görünen bazı örnekler – müşterilerle kendi çalışmam ve üçüncü taraf eklentilerinin bir kısmı. Eminim diğer insanları düşünebilirsiniz.
Kullanıcısı bir mülk yöneticisi olan bir WordPress sitesi ile çalışıyorum. Her Mülk Yöneticisi, yönettiği mülkten bir Google e -tablo elektronik tablosuna sahiptir. İstemci, özel bir gösterge tablosuna erişmesi için her kullanıcı için bu elektronik tablo URL’sini kaydetmemi ister. Bunu kullanıcının “URL elektronik tablo” adlı meta’nın bir parçası olarak yaptım. WordPress’te kullanıcıların rakip ekiple ilgili tartışmaya rastgele katıldığı basit bir tartışma web sitesi yazdım. Bu sitede en fazla tartışmayı kazanan kullanıcıları listeleyen bir “sıralama panosu” vardır. Özel bir kullanıcı metasının parçası olarak her kullanıcının kazanan/kaybetme kaydını tutuyorum.
Course.wpshout.com’da MountyPress gibi çeşitli üyelik eklentileri kullandık. Üyelik eklentisi, kullanıcı üyelik bilgi öğelerini depolamak için özel bir kullanıcı meta kullanır.
Yoast, kullanıcının yazar arşiv sayfasının SEO tarafını kontrol etmenizi sağlayan bir dizi kullanıcı meta alanına sahiptir. Aşağıda kullanıcının wpshout.com/author/fred için meta alanı bulunmaktadır.
Kullanıcının meta’sını varsayılan olarak taşıdıkları verilerden “kullanıcılarınız hakkında daha fazla bilgi edinmek” için kullanırsınız. Bu örneğin ortak iş parçacığı aşağıdaki gibidir: Tıpkı varsayılan olarak taşıdıkları verilerden ziyade “yayınlarınız hakkında daha fazla bilgi edinmek” için meta yayın kullandığınız gibi (Yoast SEO’nun başlığı veya özel bir yazı yazarları olup olmadıkları gibi). Kullanıcı metasını varsayılan olarak taşıdıkları verilerden “kullanıcılarınız hakkında daha fazla bilgi edinmek” için kullanırsınız. WordPress Kullanıcı Verilerinin Verileri Nasıl Eklenir, Alınır ve Değiştirilir Bu bölüm, WordPress kullanıcılarının nasıl oluşturulacağı, güncelleneceği, alınacağı ve silineceğini açıklar. Bu bölüm boyunca, WordPress kullanıcılarının Meta Post WordPress ile benzerliğini unutmayın: her iki sistem de neredeyse aynıdır, ancak çeşitli veri nesneleri üzerinde çalışmaları (gönderiler, wp_post s; kullanıcılar olarak nesneler halinde yapılmıştır. WP_USER S). Yani, özel alanlar hakkındaki makalemizi anlarsanız, bu sizin için hızlı bir öğrenme olacaktır. WordPress kullanıcısının veri metasını ekleyin veya değiştirin: update_user_meta ()
update_user_meta ($ user_id, $ meta_key, $ meta_value, $ prev_value); Argüman, sırayla:
$ user_id: Etkilenecek kullanıcı kimliği.
$ meta_key: Kullanıcının etkilenecek meta alanının adı.
$ meta_value: Geçerli değer kullanıcının meta alanı tarafından alınmalıdır – bu, ihtiyaçlarınıza bağlı olarak bir dize, tamsayı, dizi veya diğer veri türleri olabilir.
$ prev_value: Bu isteğe bağlı parametre, yinelenen meta tuşları işler. Neredeyse her zaman görmezden gelebilirsiniz. Bu işlev neredeyse Meta verilerini değiştirmek için eşdeğer bir işlev olan Updge_post_meta () ile eş anlamlıdır ve her iki işlev de çok benzer çalışır.
Örnek kodu: update_user_meta () İşte Update_user_meta () işlevinin bir örneğidir: <? PHP işlevi wpshout_yyouba_found_this_post () {// Bunu günlüğe sürdürülmüş bir kullanıcı görüntüleme değilse, eğer (! Is_user_logged'i bulmayın (! Is_user_logged ( )): Dönüş; Endif; // Geçerli kullanıcı için "wphout_found_this_page" kullanıcı metasını true olarak ayarlayın UPDate_user_meta (get_current_user_id (), 'wspout_found_this_post', true); '
Bu gönderiyi buldunuz!
'; } // Add_shortcode ('wphout_foundme', 'wphout_you_found_this_post') herhangi bir yerde görüntülemek için işlevi bir kısa kodda sarar; Bu örnek kodu ne yapıyorsunuz? Bir eklenti olarak yüklerseniz ve daha sonra sitenizdeki herhangi bir yayına kısa bir kod [wpshout_foundme] koyarsanız, kullanıcı gönderiye her girdiğinde, wpshout_found_this_post kullanıcı anahtarı için kullanıcı değeri true olarak ayarlanır. (Kullanıcılar ayrıca "Bu yazıyı bulduğunuz!"
Bunu, giren kullanıcılarla garip Paskalya yumurtaları için kullanabilir ve daha sonra kaçının Paskalya yumurtalarını bulduğunu görmek için kullanıcılarının metasını görebilirsiniz. Ya da her neyse. Her neyse, bu update_user_meta () 'dan işlev gören bir demo. Update_user_meta () kullanın veya WordPress yönetici arayüzünde kullanıcının metasını elle değiştirir misiniz? Update_post_meta () ile aynı şekilde bağlı olarak, update_user_meta () WordPress işlevi, elle yapabileceğiniz bir şey yapmak için php kullanır: belirli kullanıcılar için Meta Post'u değiştirme. Peki bu bilgileri elle mi değiştiriyorsunuz yoksa PHP kullanıyor musunuz? Bir kez daha, Meta Post gibi, belirli kullanıcılar için manuel olarak veya otomatik olarak binlerce değişiklik yapmak isteyip istemediğinize bağlıdır. Yaz kampını çalıştırın, kamp alanını kullanıcı olarak kaydedin ve kamp alanınızın kullanıcı meta olarak kayıtlı olan her kullanıcı için alerjik bilgileri depolamasına izin vermek mi istiyorsunuz? Verileri girmeleri için bir arayüz oluşturmak için kapsülleri (aşağıya bakın) kullanın.
Forum sitesinde binlerce kullanıcı var ve hesabı üç yaşından büyük olan herhangi bir kullanıcıya otomatik olarak "kıdemli" bir rozet ayarlamak mı istiyorsunuz? Update_user_meta () ile yapın.
update_user_meta () vs. Add_user_meta () Add_user_meta () bir işlev var, eğer yoksa bir parça kullanıcı meta yapmakla ilgilidir. Ancak, sorun budur: update_user_meta (), kullanıcının meta'nın bir kısmı güncellemeye çalıştığınızda henüz mevcut değilse, add_user_meta () çalışacak. Add_user_meta () için gerçek dünya kullanımını hiç bulamadım (tıpkı add_post_meta () için hiç olmadığım gibi), bu yüzden tersini yapmak için iyi bir nedeniniz yoksa görmezden gelmeyi öneririm. Meta Meta Veri Almak WordPress: get_user_meta () get_user_meta () işlevi oldukça basit ve oldukça önemlidir: Bu, saklanan kullanıcının meta kısmını onunla bir şeyler yapabilmeniz için alma şeklinizdir. Bu aşağıdaki gibi görülebilir: get_user_meta ($ user_id, $ meta_key, $ single); Sırayla üç argüman şunlardır:
Kullanıcısını almak istediğiniz kullanıcı kimliği.
Kullanıcı meta anahtarı. Yukarıdaki örnekte, burada devam edeceğimiz, belirttiğimiz anahtar wpshout_found_this_post. Bu argümanın teknik olarak isteğe bağlı olduğunu unutmayın: doldurmazsanız, tüm kullanıcı meta verilerinden ilişkisel diziler alırsınız. (İstediğim bu, ama bazen olur.)
Özel alan değerinizi tek veya dizi olarak mı istiyoruz? Eğer burada yaptığımız gibi true olarak ayarlarsak, sadece bir değer elde ederiz. Eğer belirlemezsek veya false olarak ayarlarsak, bir dizi geri kazanırız. Beklediğiniz veriler, dize veya tamsayı gibi (çoğu zaman) tek bir şeyse, bu argümanı doğru olarak ayarlamanız gerekir.
Kaydedildiğinden emin olmak için, get_user_meta (), GET_POST_META () göndermek için ortağı ile neredeyse aynıdır.
Örnek kodu: get_user_meta () Aşağıda bir çalışma kodu örneğidir: <? PHP işlevi wpshout_inft_nag_message_to_find_the_post () {// Bunu görüntüleyen bir giriş kullanıcısı değilse, (! İs_user_logged_in ()): return; Endif; // Geçerli kullanıcı için "wphoneut_found_this_page" kullanıcı meta değerini alın // (tek bir değer olarak, bir dizi olarak değil) ve $ found found = get_user_meta (get_current_user_id (), '' değişkenine kaydedin. // bir javascript nag mesajı oluşturun (! İsset ($ bulun) || $ bulunsa! == true): // bu arada JavaScript'i gerçekten eklemeyin, hacky echo ' uyarısı (“Hala gönderiyi bulmanız gerekiyor!”); ‘; Endif; } // bölümünden önce yazma işlevini çağırın ADD_ACE (‘wp_head’, ‘wspspout_inflict_nag_message_to_find_the_post’); Yukarıdaki kod nedir? Bu, ilgili kullanıcı, yukarıdaki Sample_user_meta () güncellemesinden () Paskalya Yumurtası gönderisini bulana kadar her yükleme sayfasında çok rahatsız edici olan JavaScript uyarılarına yol açtı. Eğer bir nedenden dolayı yapmak istiyorsanız, en sadık site kullanıcılarınız dışında herkes için iyi olabilir. Meta Meta Veri Sil WordPress: delete_user_meta () Kullanıcıdan bir parça kullanıcı verisini silmek için delete_user_meta () işlevini kullanın. Bu işlev, bir kez daha, Delete_post_meta () ile formda ve işlevle neredeyse aynıdır – kullanıcılar hariç, yayınlar değil – ve kullanımı oldukça kolaydır. Bu aşağıdaki gibi görülebilir: delete_user_meta ($ user_id, $ meta_key, $ meta_value); Argüman:
$ Post_id: Etkilenecek Kullanıcı Kimliği. $ Meta_key: Meta veri gönderiminden silinecek özel alanın adı.
$ meta_value: Bu isteğe bağlı parametre, yinelenen meta tuşları işler. Neredeyse her zaman görmezden gelebilirsiniz.
Örnek kodu: delete_user_meta () Tamam, diyelim ki gönderileri bulan kullanıcılardan wspspout_found_this_post bayrağını silmek istiyoruz – böylece daha tatlı javascript uyarıları görebiliyordu. <? PHP işlevi wspout_make_sure_user_is_haunted_by_nag_message () {// Bunu görüntüleyen bir kullanıcı değilse, (! is_user_logged_in ()): return; Endif; // Geçerli kullanıcı Delete_user_meta (get_current_user_id (), 'wspout_found_this_post') için "wphout_found_this_page" kullanıcı meta değerini sil; } // WordPress'in yükleme işleminin başındaki işlevi çağırın add_ace ('init', 'wspout_make_sure_user_is_haunted_by_nag_message'); Kullanıcı Meta için Metabox Oluşturma: POD kullanın Bu tartışma bölümü pratiktir: WordPress'e kullanıcının meta alanını eklemenin en iyi yolu nedir? Aldığım cevap basit: kapsüller. (Bu ücretsiz eklentinin adıdır.) PODS eklentisi, Meta Post için Gelişmiş Özel Alan (ACF) tarafından oynanan kullanıcı meta rolünü kaplar. Tabii ki, POD sadece bir şey kullanmak isterseniz, Meta Post için ACF rolünü de oynayabilir. Kullanıcının meta kutusunu eklemek için PODS arayüzü bile Meta Post kutusunu eklemek için ACF arayüzüne çok benziyor: