Üyelere Özel Web Sitesi İçin WordPress Hack'leri

Yayınlanan: 2020-05-19

Varsayılan olarak, WordPress bir blog aracıdır. Bununla birlikte, istediğiniz gibi yapmak için gerçekten özelleştirebilirsiniz. Birçok kişi WordPress'i üyelere özel bir web sitesi oluşturmak için kullanır.

Her zaman bir eklenti kullanabilirsiniz, ancak yalnızca küçük bir değişikliğe ihtiyacınız varsa, birkaç satır kodla yapabilecekken neden bir eklenti yükleyesiniz. Yalnızca üyelere özel site oluşturmak için bazı basit ama etkili tüyolar.

Yalnızca Eklentisiz Üyeler İçin İçerik

Sitenizde sadece kayıtlı üyeye göstermek istediğiniz belirli içerikler varsa, bunu temanızda aşağıdaki kodu kullanarak yapabilirsiniz. is_user_logged_in arasında geçenler sadece üyeler tarafından görülecektir.

<?php if ( is_user_logged_in() ) { ?>
// Content for Logged in user
<?php } else {?>
// Content for everyone else
<?php }?>

WordPress Hacks for Members Only Website

WordPress Giriş Formunu Her Yerde Göster ve Özelleştir

Temanızın herhangi bir yerine WordPress giriş formu eklemek istiyorsanız, bunu aşağıdaki işlevi kullanarak yapabilirsiniz:

<?php ks29so_login_form(); ?>

Ancak, doğrudan varsayılan WordPress giriş formunu çektiği için, size giriş formunu özelleştirme seçeneği sunmaz. Ya böyle bir şey göstermek istersen?

İşte bunu yapmak için kod. Aşağıdaki kodu formun görünmesini istediğiniz yere yapıştırın.

// WordPress Login Form
<?php if (!(current_user_can(‘level_0′))){ ?>
<h3>Member Login</h3>
<form action="<?php echo get_option(‘home’); ?>/wp-login.php" method="post">
<table width=’100%’ cellspacing="0" cellpadding="0">
<tr>
<td>
<label><?php _e( ‘Username’ ) ?></label>
<input type="text" name="log" class="input" value="<?php echo attribute_escape(stripslashes($user_login)); ?>" />
</td>
<td>
<label><?php _e( ‘Password’ ) ?></label>
<input type="password" name="pwd" class="input" value="" />
</td>
</tr>
<tr>
<td colspan="2"><?php do_action(‘login_form’); ?>
</td>
</tr>
<tr>
<td>
<a href="<?php echo site_url(‘wp-login.php?action=lostpassword’, ‘login’) ?>" title="<?php _e(‘Password Lost and Found’) ?>"><?php _e(‘Forgot Password?’) ?></a>
</td>
<td>
<input type="submit" name="submit" value="Log In" class="button" />
<input type="hidden" name="redirect_to" value="http://<?php echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] ?>" />
</td>
</tr>
</table>
</form>
<?php } else { ?>
<!– When User logged in Show the following info –>
<h2>Logout</h2>
<?php get_currentuserinfo();?>
Welcome Back &nbsp<?php echo($current_user->user_login . " ");?><br />
<a href="<?php echo ks29so_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>">Logout</a><br />
<a href="<?php echo get_admin_url(); ?>">Admin?</a><!– If you are admin goes to admin dashboard –>
<?php }?>

Stil vermek için bir CSS div etiketi ekleyebilirsiniz. Bu giriş formunu kullanmanın avantajı, get_currentuserinfo() işlevini kullanarak üyeler için neredeyse mini bir gösterge panosu oluşturabilir ve kullanıcı hakkında herhangi bir bilgiyi gösterebilirsiniz.

Üyeler için Özel WordPress Menüsü

İçerik gibi, üyeler için özel WordPress menüsü oluşturabilirsiniz. Önce menüyü kaydedelim. Tema işlev dosyanıza (functions.php) gidin. Menüleri kaydetmek için aşağıdaki kodu kullanın.

register_nav_menus( array(
‘primary’ => __( ‘Primary Navigation’, ‘twentyten’ ),
‘visitor’ => __( ‘Visitor Navigation’, ‘twentyten’ ),
‘footer’ => __( ‘Footer Navigation’, ‘twentyten’ ),
) );

Şimdi, aşağıdaki kodu menünüzün görünmesini istediğiniz yere, büyük olasılıkla header.php dosyasının içine koyun.

<?php
if ( is_user_logged_in() ) {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’ ) );
} else {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘visitor’ ) );
};?>

Şimdi aslında WordPress'te backhand menüyü oluşturmanız gerekiyor. “Menüler” ayarı Görünüm Sekmesi altında olmalıdır. Ana ve ziyaretçi adında bir menü oluşturun. Her iki menüde de göstermek istediğinizi ekleyin. Örneğin: Bir sayfanın yalnızca kullanıcı oturum açtığında görünmesini istiyorsanız, onu ana menüye ekleyin.

Aynı yöntemi kullanarak dinamik bir alt bilgi menüsü de oluşturabilirsiniz.

Blogcular için WordPress Özel Alanları ve Hack'leri

Özel ve profesyonel görünümlü bir web sitesi oluşturmak için WordPress'i kullanabilirsiniz. Bu gönderide, daha iyi bir WordPress destekli siteye sahip olmanızı sağlayacak bazı WordPress özel alan hilelerini ve tüyolarını paylaşıyoruz.

Bazen sitenize yalnızca bir gönderi yazan misafir blogcular olabilir ve hepsi bu. Normal yazar bilgilerini göstermek için bu yöntemi kullanabilirsiniz. Yazarın WordPress'e kayıtlı olduğunu unutmayın. Belki her yeni konuk yazar yazdığında kayıt olmak istemezsiniz. Ancak, konuk yazar bilgilerinin normal yazarla aynı biçimde görünmesini nasıl sağlıyorsunuz? Özel Alanlar!

Ön Sayfada ve Bireysel Gönderilerde Konuk Yazar Adı

Yapmamız gereken ilk şey, özel alan değerini almak için bir WordPress if ifadesi ayarlamaktır. Bu şekilde yalnızca özel dosya değeri atandığında görünecektir. “index.php” ve “single.php” dosyanızı açın ve aşağıdaki kodu yazar adının görünmesini istediğiniz yere yapıştırın. Tarihten sonra veya yorumlardan sonra olabilir. Örneğin bu koddan sonra:

<?php the_time(‘M j, Y’) ?>
< ?php if ( get_post_meta($post->ID, 'guest_author_name', true) ) { ?>
// check to see if custom field guest author name exists
< ?php echo get_post_meta($post->ID, "guest_author_name", $single = true); ?>
< ?php } ?>\

if ifadesini koyduğumuzda, konuk yazarın adının görünmesini istediğimiz gönderide onu çağırırız. Konuk yazarın adı ön sayfada ve yalnızca belirli bir gönderi için görünmelidir.

Bireysel Gönderide Misafir Yazar Bilgi Bloğu

Tamam, bu yüzden meta açıklamasında görünen adımız var, ancak konuk yazar hakkında bazı bilgiler de iyi olurdu.

Yine, önce yazar resmi başparmak ve açıklamasını arayan koşullu if ifademiz var. Dizindeki görüntüyü değiştirmeyi unutmayın. Ayrıca, bloğa ve başparmağa bir sınıf ekledik, CSS kullanarak hem görüntüye hem de bloğa stil vermeye izin veriyor.

<?php if ( get_post_meta($post->ID, ‘autho_thumb’, true) ) { ?> // checks to see if the custom field exist
<div class="writer_bio">
<img class="autho_thumb" src="http://media.webdesignviews.com/author/<?php $values = get_post_custom_values("autho_thumb"); echo $values[0]; ?>" alt="Author Thumb" width="60" width="60" height="60" /><?php } ?
<?php if ( get_post_meta($post->ID, ‘guest_author’, true) ) { ?>
<?php echo get_post_meta($post->ID, "guest_author", $single = true); ?></div>
<?php } ?>

İşte kullandığım CSS

.writer_bio {
color: #666;
background: #eee;
text-transform: none !important;
font-size: 13px;
font-weight: normal;
height: 75px;
width: 600px;
padding: 6px;
padding-bottom: 6px;
padding-left: 0;
margin-bottom: 10px;
}
.writer_bio img {
padding: 0 !important;
float: left !important;
margin-left: 4px !important;
margin-top: 3px !important;
border: 2px #ccc solid !important;
height: 60px;
}

autho_thumb sınıfıyla daha da stil sahibi olursunuz. Bu yapıldıktan sonra tek yapmanız gereken alana autho_thumb ve guest_author'u eklemek ve bilgileri doldurmaktır. Özel alana bağlantı gibi HTML bile ekleyebilirsiniz.

Böylece, konuk yazar bilgileri için iki özel alanınız var. Bu çok fazla adım gibi görünebilir. Güven bana, bir kez yaptım, sadece bir dahaki sefere yapmak istediğinde resmi ve açıklamayı ekleme meselesi.

Gönderi Resmini Ön Sayfada Görüntülemek için Daha İyi Özel Alan

Bu yöntem, ön taraftaki yazı için bir başparmak görüntülemek için kullanılır. Biraz daha ileri götürmek ve ön kullanıcı için kolaylaştırmak istedim. Ayrıca Jean'in yöntemiyle her resimde aynı alt=”post-image” olur ve arama motorları için iyi olmayabilirim. Ayrıca, her seferinde resimler için tüm URL'yi eklemeniz gerekir. İlk burada kod:

<?php $postimageurl = get_post_meta($post->ID, ‘post-img’, true);
// variable for image
$image_alt = get_post_meta($post->ID, ‘post-img’, true);// variable for description
// check if the the custom field is called
if ($postimageurl) {
?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><img src="<?php echo $postimageurl; ?>" class=
quot;post-img" alt="<?php echo $image_alt; ?>"; width="500" height="300" /></a>
<?php } else { ?>

Kodu açıklamadan önce, varsayılan başparmak için başka bir ifade eklemediğime dikkat edin. Özel alana resim atanmışsa, varsayılan bir resme sahip olmak istiyorsanız Jean'in gönderisine bakın.

İlk önce $postimageurl ve $image_alt olmak üzere iki değişkenimiz var. Birincisi resim konumunu almak, ikincisi ise resim adını eklemek. Ardından, özel alanın çağrıldığını kontrol etmek için bir if ifadesi belirledik.

<?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/’?>

Farklı olan şey, görüntü konumunu alan yukarıdaki koddur. WordPress yükleme dizinimde thumb adlı bir klasör oluşturdum, bu yüzden her seferinde URL'nin tamamını yazmak yerine, resmi klasöre yükledikten sonra resim adını yazardım.

Diyelim ki resimlerinizi alan adınızın kökünde saklayacağınız gibi farklı bir dizin istiyorsanız, <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> değiştirin. <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> ile http://yourwebsite.com/images/<?php echo $postimageurl; ?> http://yourwebsite.com/images/<?php echo $postimageurl; ?> .

Bu nedenle, kod biraz ince ayarlanmıştır, böylece her gönderi görüntüsünün farklı bir alt (başlık) olur ve tam URL yerine resim adı uzantısını yazarsınız.

WordPress Navigasyonunuzu İstediğiniz Şekilde Düzenleyin

Bilmeniz gereken ilk şey, genellikle header.php içinde bulunan ks29so_list_pages etiketini kullanan wordpress liste sayfalarıdır. ancak tüm sayfalarınızı listelemek istemeyebilirsiniz. Bazı sayfalarınızın görünmesini gizlemek istiyorsanız, şunu yaparsınız:

<?php ks29so_list_pages(‘include=7,13′ ); ?>
//or
<?php ks29so_list_pages(‘exclude=5,9′);? >

Hariç tut veya dahil et hemen hemen aynı şekilde çalışır. Hariç tut, belirli sayfaları WordPress sayfa listesinden çıkaracak ve içerme yalnızca belirttiğiniz sayfa kimliğini gösterecektir. Bununla birlikte, web tasarım bloglarının çoğu veya diğer bloglar, navigasyonları olarak etiketleri veya kategorileri kullanmayı sever. Bu durumda, sadece ks29so_list etiketinden kurtulabilir ve navigasyonu özel kodlayabilirsiniz. Alternatif olarak, bunu etiketlerinizle de yapabilirsiniz. Bu şekilde kodlamanın faydası, navigasyonun her bir öğesini stilize etmek için CSS sınıfı atayabilirsiniz.

WordPress sayfa kimliğinizi nasıl bulabilirsiniz?

Geçenlerde kullandığım bir şablonda hariç tutulacak bir sayfa kimliği bulmam gerekti ve yaklaşık 10 dakika sonra nihayet bir WordPress 'sayfasının' sayfa kimliğini bulmanın kolay bir yolunu buldum.

WordPress'in eski sürümlerinde bunun daha kolay olduğuna inanıyorum, ancak şimdi bunu nasıl yapabileceğiniz aşağıda açıklanmıştır.

  1. WordPress yönetici paneline gidin ve ardından Sayfalar'a gidin.
  2. Ardından, kimliğini bilmek istediğiniz sayfanın üzerine gelin.
  3. Kimliği tarayıcının alt kısmındaki durum çubuğunda göreceksiniz (aşağıya bakın).

Tam adresi göremiyorsanız, başka bir yol deneyin (aşağıda).

  1. WordPress yönetici paneline gidin ve ardından Sayfalar'a gidin.
  2. Ardından adres çubuğunda kimliği göreceksiniz. Eşittir işaretinden sonraki sayı olacaktır.
  3. Kimliğini öğrenmek istediğiniz sayfaya tıklayın.

Arşiv Konusunu Gösterme

WordPress temalarının çoğu arşiv.php sayfasıyla birlikte gelir. Ancak arşiv sayfalarının pek yardımcı olmadığı ve kullanıcılara hangi konu veya kategorilere göz attıklarını söylemediği birçok web sitesi gördüm. Karışıklığı önlemek için aşağıdaki kodları Archive.php dosyanıza ekleyebilirsiniz.

<?php /* If this is a category archive */ if (is_category()) { ?>
<h3 class="pagetitle">Current Browsing Topic: &#8216;<?php single_cat_title(); ?>&#8217;</h3>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<h3 class="pagetitle">Posts Tagged &#8216;<?php single_tag_title(); ?>&#8217;</h3>