Ü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]
<?php if ( is_user_logged_in() ) { ?>
// Oturum açmış kullanıcı için içerik
<?php } başka {?>
// Diğer herkes için içerik
<?php }?>
[/php]

WordPress Hacks for Members Only Website

WordPress Giriş Formunu Her Yerde Gösterin ve Özelleştirin

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

[php]
<?php ks29so_login_form(); ?>
[/php]

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.

[php]
// WordPress Giriş Formu
<?php if (!(current_user_can('level_0′))){ ?>
<h3>Üye Girişi</h3>
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<table width='100%' cellpacing="0" cellpadding="0">
<tr>
<td>
<label><?php _e( 'Kullanıcı adı' ) ?></label>
<input type="text" name="log" class="input" value="<?php echo property_escape(stripslashes($user_login)); ?>" />
</td>
<td>
<label><?php _e( 'Parola' ) ?></etiket>
<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('Parola Kayıp ve Bulundu') ?>">< ?php _e('Şifremi Unuttum?') ?></a>
</td>
<td>
<input type="submit" name="submit" value="Oturum Aç" class="button" />
<input type="hidden" name="redirect_to" value="http://<?php echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] ?>" />
</td>
</tr>
</tablo>
</form>
<?php } başka { ?>
<!– Kullanıcı oturum açtığında Aşağıdaki bilgileri göster –>
<h2>Çıkış</h2>
<?php get_currentuserinfo();?>
Tekrar Hoş Geldiniz &nbsp<?php echo($current_user->user_login . " ");?><br />
<a href="<?php echo ks29so_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>">Çıkış</a><br />
<a href="<?php echo get_admin_url(); ?>">Yönetici mi?</a><!– Yöneticiyseniz yönetici panosuna gider –>
<?php }?>
[/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ü kayıt edelim. Tema fonksiyon dosyanıza (functions.php) gidin. Menüleri kaydetmek için aşağıdaki kodu kullanın.

[php]
register_nav_menus( dizi(
'birincil' => __( 'Birincil Gezinme', 'yirmiten' ),
'ziyaretçi' => __( 'Ziyaretçi Navigasyonu', 'yirmiten'),
'altbilgi' => __( 'Altbilgide Gezinme', 'yirmiten'),
) );
[/php]

Ş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]
<?php
if ( is_user_logged_in() ) {
ks29so_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'birincil' ) );
} Başka {
ks29so_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'ziyaretçi' ) );
};?>
[/php]

Ş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, WordPress destekli daha iyi bir 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, 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ğlarsınız? Ö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]
<?php the_time('M j, Y') ?>
[/php]
[php]
< ?php if ( get_post_meta($post->ID, 'guest_author_name', true)) { ?>
// özel alan konuk yazar adının olup olmadığını kontrol edin
< ?php echo get_post_meta($post->ID, "misafir_yazar_adı", $tek = doğru); ?>
< ?php } ?>\
[/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]
<?php if ( get_post_meta($post->ID, 'auto_thumb', true) ) { ?> // özel alanın var olup olmadığını kontrol eder
<div class="writer_bio">
<img class="auto_thumb" src="http://media.webdesignviews.com/author/<?php $values ​​= get_post_custom_values("auto_thumb"); echo $values[0]; ?>" alt="Yazar Başparmağı " width="60" width="60" height="60" /><?php } ?
<?php if ( get_post_meta($post->ID, 'guest_author', true)) { ?>
<?php echo get_post_meta($post->ID, "misafir_yazar", $tek = doğru); ?></div>
<?php } ?>
[/php]

İşte kullandığım CSS

[css]
.writer_bio {
renk: #666;
arka plan: #eee;
metin dönüşümü: yok !important;
yazı tipi boyutu: 13 piksel;
yazı tipi ağırlığı: normal;
yükseklik: 75 piksel;
genişlik: 600 piksel;
dolgu: 6 piksel;
alt dolgu: 6 piksel;
dolgu-sol: 0;
kenar boşluğu-alt: 10 piksel;
}
.writer_bio resim {
dolgu: 0 !önemli;
kayan nokta: sol !önemli;
sol kenar boşluğu: 4 piksel !önemli;
üst kenar boşluğu: 3 piksel !önemli;
kenarlık: 2px #ccc katı !önemli;
yükseklik: 60 piksel;
}
[/css]

Hatta auto_thumb sınıfıyla daha fazla 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, bu sadece bir dahaki sefere yapmak istediğinde resmi ve açıklamayı eklemek meselesi.

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

Bu yöntem, ön taraftaki gönderi 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]
<?php $postimageurl = get_post_meta($post->ID, 'post-img', true);
// görüntü için değişken
$image_alt = get_post_meta($post->ID, 'post-img', true);// açıklama için değişken
// özel alanın çağrıldığını kontrol edin
if ($postimageurl) {
?>
<a href="<?php the_permalink(); ?>" rel="yer imi"><img src="<?php echo $postimageurl; ?>" class=
quot;img sonrası" alt="<?php echo $image_alt; ?>"; width="500" height="300" /></a>
<?php } başka { ?>
[/php]

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]
<?php echo get_option('siteurl').'/wp-content/uploads/thumb/'?>
[/php]

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; ?> 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]
<?php ks29so_list_pages('include=7,13′ ); ?>
//veya
<?php ks29so_list_pages('exclude=5,9′);? >
[/php]

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]
<?php /* Bu bir kategori arşivi ise */ if (is_category()) { ?>
<h3 class="pagetitle">Güncel Tarama Konusu: &#8216;<?php single_cat_title(); ?>&#8217;</h3>
<?php /* Bu bir etiket arşiviyse */ } elseif( is_tag() ) { ?>
<h3 class="pagetitle">Etiketli Gönderiler &#8216;<?php single_tag_title(); ?>&#8217;</h3>
[/php]