Merhaba arkadaşlar, bu yazı da wordpress üyelere özel içerik eklemeyi anlatacağım.

Sitenize üye olan kullanıcılara göstermek istediğiniz özel içerikler mevcutsa eğer, bu anlatımı okumak işinize yarayacaktır.

Öncelikle işimize yarayacak olan kod yapısını vereyim.

if ( is_user_logged_in() ) :
 // Üye olanlara Gözükecek Kısım 
else :
 // Üye olmayanlara Gözükecek Kısım 
endif;
// CakirEfekan.Com Üyelere Özel İçerik Ekleme

Şimdi bu kod yapımızı örnek olarak kullanalım. Öncelikle, tema klasörümüze page-ozel.php isminde bir dosya oluşturalım. Ardından bu oluşturduğumuz dosyanın içine page.php dosyasındaki kodları birebir kopyalayalım.

page.php dosyasıyla işimiz bitti kapatabiliriz. Yeni oluşturduğumuz page-ozel.php dosyamızı wordpress’in tanıması için en başında şu kodları ekleyelim.

<!--?php /* Template Name:Özel İçerik*/ ?-->

Bu eklemeyi yapmamızın ardından wordpress yönetici panelinden sayfa oluşturma bölmesinin sağ kısmında sayfa özellikleri menüsünde Özel İçerik seçeneği aktif olacaktır, özel içerik olmasını istediğimiz sayfalarda bu şablonu kullanacağız. Ardından page-ozel.php yi düzenlememiz gerek.

Bu dosyada yazıyı çektiğimiz kodları bulup, uygun şekilde yukarıda yer alan yapıyı kullanacağız.

WordPress’in içinde gelen Yirmi onbeş temasından örnek vermek gerekirse;

// Start the loop.
// CakirEfekan.Com Üyelere Özel İçerik Ekleme
 while ( have_posts() ) : the_post();
 if ( is_user_logged_in() ) : 
 // Include the page content template.
 get_template_part( 'content', 'page' );
 else :
 
 echo '<main id="main" class="site-main" role="main">Bu İçeriği Sadece Üyeler Görebilir. <br> Hemen üye olmak için <a href="/wp-login.php?action=register">buraya</a> tıklayınız.</main>'; // Burada üye olmayanları içeriği görmeleri için üye olmaya sevkettik.
 
 
 endif;
 // If comments are open or we have at least one comment, load up the comment template.
 if ( comments_open() || get_comments_number() ) :
 comments_template();
 endif;

 // End the loop.
 endwhile;

Eğer istediğiniz üyeye özel karşılama mesajı yayınlamak ise, onu da şimdi anlatacağım.

Öncelikle, yukarıda kullandığımız yapıyı tekrar kullanacağız.

Örneğin sidebar’ da üyelerimize bir hoşgeldin demek istiyoruz,  bunun için get_currentuserinfo(); fonksiyonunu kullanacağız. Öyleyse sidebar.php dosyamızı açıyoruz ve uygun gördüğümüz yere aşağıdaki kodları yerleştiriyoruz.

<?php if ( is_user_logged_in() ) : // Eğer kullanıcı giriş yapmışsa karşılama mesajı yayınlayalım.
 global $current_user; 
 get_currentuserinfo(); 
 $login = $current_user->user_login; // Giriş yapmış kullanıcının, kullanıcı adını değişkene kaydettik.
 // CakirEfekan.Com Üyelere Özel İçerik Ekleme
 ?>
<h3>Hoşgeldin <?php echo $login ?></h3> <!-- Örnek karşılama mesajını yazdırdık. -->
<?php else : ?>
<?php endif;?>

Bu mantık ile üyeleriniz için bir panel yapabilirsiniz.

get_currentuserinfo(); fonksiyonunun genel kullanımları şöyledir.

<?php global $current_user;
 get_currentuserinfo();
// CakirEfekan.Com Üyelere Özel İçerik Ekleme
 echo 'Kullanıcı Adı: ' . $current_user->user_login . "\n";
 echo 'E-posta: ' . $current_user->user_email . "\n";
 echo 'Kullanıcı Seviyesi: ' . $current_user->user_level . "\n";
 echo 'İsim: ' . $current_user->user_firstname . "\n";
 echo 'Soyisim: ' . $current_user->user_lastname . "\n";
 echo 'Görünen isim: ' . $current_user->display_name . "\n";
 echo 'Kullanıcı ID: ' . $current_user->ID . "\n";
?>

Bu kodlamanın bu sitede çıktısı şu şekilde olacaktır;

Kullanıcı Adı: CakirEfekan
E-posta: Cakirefekan@gmail.com
Kullanıcı Seviyesi: 10
İsim: Efekan
Soyisim: Çakır
Görünen isim: CakirEfekan
Kullanıcı ID: 1

get_currentuserinfo(); fonksiyonunun detaylı anlatımı için codex.wordpress.com‘u ziyaret edebilirsiniz.

Bu konu hakkında sorularınızı yorum ile bildirebilirsiniz..


0 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir