Peretasan WordPress untuk Situs Web Khusus Anggota

Diterbitkan: 2020-05-19

Secara default, WordPress adalah alat blogging. Namun demikian, Anda benar-benar dapat menyesuaikan untuk membuatnya sesuai keinginan Anda. Banyak orang menggunakan WordPress untuk membuat situs web khusus anggota.

Anda selalu dapat menggunakan plugin, tetapi jika Anda hanya membutuhkan sedikit modifikasi, mengapa menginstal plugin ketika Anda dapat melakukannya dengan beberapa baris kode. Berikut adalah beberapa peretasan sederhana namun efektif untuk membuat situs khusus anggota.

Konten untuk Anggota Saja tanpa Plugin

Jika ada konten tertentu di situs Anda yang ingin Anda tampilkan hanya kepada anggota terdaftar, Anda dapat melakukannya dengan menggunakan kode berikut di tema Anda. Apa pun yang terjadi di antara is_user_logged_in hanya akan dilihat oleh anggota.

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

WordPress Hacks for Members Only Website

Tampilkan Formulir Masuk WordPress Di Mana Saja dan Sesuaikan

Jika Anda ingin memasukkan formulir login WordPress di mana saja di tema Anda, Anda dapat melakukannya dengan menggunakan fungsi berikut:

<?php ks29so_login_form(); ?>

Namun, itu tidak memberi Anda opsi untuk menyesuaikan formulir login, karena itu hanya langsung menarik formulir login WordPress default. Bagaimana jika Anda ingin menunjukkan sesuatu seperti ini?

Berikut adalah kode untuk melakukan itu. Rekatkan kode berikut di mana pun Anda ingin formulir muncul.

// 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 }?>

Anda dapat menambahkan tag div CSS untuk menatanya. Keuntungan menggunakan formulir login ini Anda hampir dapat membuat dasbor mini untuk anggota dengan menggunakan fungsi get_currentuserinfo() dan menampilkan informasi apa pun tentang pengguna.

Menu WordPress Khusus untuk Anggota

Seperti konten, Anda dapat membuat menu WordPress khusus untuk anggota. Ayo daftar menunya dulu. Buka file fungsi tema Anda (functions.php). Gunakan kode berikut untuk mendaftarkan menu.

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

Sekarang, letakkan kode berikut di mana Anda ingin menu Anda muncul, kemungkinan besar di dalam file header.php.

<?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’ ) );
};?>

Sekarang Anda harus benar-benar membuat menu di backhand WordPress. Pengaturan "Menus" harus berada di bawah Tab Penampilan. Buat menu dengan nama utama dan pengunjung. Pada kedua menu tambahkan apa pun yang ingin Anda tampilkan. Misalnya: jika Anda ingin halaman muncul hanya saat pengguna login, tambahkan di menu utama.

Anda juga dapat membuat menu footer dinamis menggunakan metode yang sama.

Bidang Kustom dan Peretasan WordPress untuk Blogger

Anda dapat menggunakan WordPress untuk membuat situs web yang terlihat khusus dan profesional. Dalam posting ini kami membagikan beberapa trik dan peretasan bidang kustom WordPress yang memungkinkan Anda memiliki situs bertenaga WordPress yang lebih baik.

Terkadang ada blogger tamu yang hanya menulis satu posting di situs Anda dan itu saja. Anda dapat menggunakan metode ini untuk menampilkan informasi penulis biasa. Perlu diingat penulis telah terdaftar di WordPress. Mungkin, Anda tidak ingin mendaftar setiap kali penulis tamu baru menulis. Tapi, bagaimana Anda masih mendapatkan informasi penulis tamu untuk muncul dalam format yang sama dengan penulis biasa? Bidang Kustom!

Nama Penulis Tamu di Halaman Depan dan Postingan Individu

Hal pertama yang perlu kita lakukan adalah mengatur pernyataan if WordPress untuk mendapatkan nilai bidang khusus. Dengan cara ini hanya akan muncul ketika nilai file khusus ditetapkan. Buka "index.php" dan "single.php" Anda dan tempel kode berikut di mana Anda ingin nama penulis muncul. Bisa setelah tanggal atau setelah komentar. Misalnya setelah kode ini:

<?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 } ?>\

Setelah kami meletakkan pernyataan if, kami hanya menyebutnya di pos mana pun yang kami inginkan agar nama penulis tamu muncul. Nama penulis tamu harus muncul di halaman depan dan hanya untuk posting tertentu.

Blok Informasi Penulis Tamu di Posting Individu

Oke, jadi kami memiliki nama yang muncul di deskripsi meta posting tetapi beberapa informasi tentang penulis tamu juga akan bagus.

Sekali lagi, pertama kita memiliki pernyataan if bersyarat yang mencari jempol dan deskripsi gambar penulis. Jangan lupa untuk mengubah gambar direktori. Juga, kami melampirkan kelas ke blok dan ibu jari, ini memungkinkan untuk menata gambar dan blok menggunakan CSS.

<?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 } ?>

Berikut adalah CSS yang saya gunakan

.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;
}

Anda bahkan lebih bergaya dengan kelas autho_thumb. Setelah selesai, yang perlu Anda lakukan adalah menambahkan autho_thumb dan guest_author di bidang dan mengisi informasinya. Anda bahkan dapat menambahkan HTML seperti tautan di bidang khusus.

Jadi, di sana Anda memiliki dua bidang khusus untuk informasi penulis tamu. Ini mungkin tampak seperti banyak langkah. Percayalah sekali telah melakukannya, itu hanya masalah menambahkan gambar dan deskripsi waktu berikutnya Anda ingin melakukannya.

Bidang Kustom yang Lebih Baik untuk Menampilkan Gambar Postingan di Halaman Depan

Cara ini digunakan untuk menampilkan jempol untuk postingan di bagian depan. Saya ingin mengambilnya sedikit lebih jauh dan mempermudah pengguna front end. Juga, dengan metode Jean setiap gambar akan memiliki alt="post-image" yang sama dan saya mungkin tidak bagus untuk mesin pencari. Selain itu, Anda harus memasukkan seluruh URL untuk gambar setiap saat. Pertama di sini adalah kode:

<?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 { ?>

Sebelum saya menjelaskan kodenya, perhatikan bahwa saya tidak menambahkan pernyataan lain untuk jempol default. Lihat posting Jean jika Anda ingin memiliki gambar default jika gambar ditetapkan di bidang khusus.

Pertama kita memiliki dua variabel $postimageurl dan $image_alt. Yang pertama adalah untuk mendapatkan lokasi gambar dan yang kedua adalah menambahkan nama gambar. Kemudian lagi kami menetapkan pernyataan if untuk memeriksa apakah bidang khusus dipanggil.

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

Hal yang berbeda adalah kode di atas yang mendapatkan lokasi gambar. Saya telah membuat folder bernama thumb di direktori unggah WordPress saya, jadi daripada mengetik seluruh URL setiap kali saya hanya akan mengetik nama gambar, setelah saya mengunggah gambar di folder.

Jika Anda menginginkan direktori yang berbeda seperti katakanlah Anda akan menyimpan gambar Anda di root domain Anda, cukup ganti <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> dengan http://yourwebsite.com/images/<?php echo $postimageurl; ?> http://yourwebsite.com/images/<?php echo $postimageurl; ?> .

Jadi, kodenya sedikit diubah sehingga setiap gambar posting akan memiliki alt (judul) yang berbeda dan Anda akan mengetikkan ekstensi nama gambar daripada seluruh URL.

Atur Navigasi WordPress Anda Seperti yang Anda Inginkan

Hal pertama yang perlu diketahui adalah halaman daftar wordpress menggunakan tag ks29so_list_pages, yang biasanya terletak di header.php. tetapi Anda mungkin tidak ingin mencantumkan semua halaman Anda. Jika Anda ingin menyembunyikan beberapa halaman Anda agar tidak muncul, Anda akan melakukan ini:

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

Kecualikan atau sertakan hampir berfungsi dengan cara yang sama. Kecualikan akan menghilangkan halaman tertentu dari daftar halaman WordPress dan hanya menyertakan menampilkan ID halaman yang Anda tentukan. Namun, sebagian besar blog desain web atau blog lain suka menggunakan tag atau kategori sebagai navigasinya. Dalam hal ini, Anda bisa menyingkirkan tag ks29so_list dan kode kustom navigasi. Sebagai alternatif, Anda juga dapat melakukannya dengan tag Anda. Manfaat pengkodean dengan cara ini Anda dapat menetapkan kelas CSS untuk menata setiap elemen navigasi.

Cara menemukan ID halaman WordPress Anda

Baru-baru ini saya harus menemukan ID halaman untuk pengecualian dalam template yang saya gunakan dan setelah sekitar 10 menit akhirnya menemukan cara mudah untuk menemukan ID halaman dari 'halaman' WordPress.

Di versi WordPress yang lebih lama, saya yakin ini lebih mudah, tetapi inilah cara Anda dapat melakukannya sekarang.

  1. Masuk ke panel admin WordPress lalu buka Pages.
  2. Kemudian arahkan kursor ke halaman yang ingin Anda ketahui IDnya.
  3. Anda akan melihat ID di bilah status di bagian bawah browser (lihat di bawah).

Jika Anda tidak dapat melihat alamat lengkapnya, coba cara lain (lebih lanjut di bawah).

  1. Masuk ke panel admin WordPress lalu buka Pages.
  2. Kemudian Anda akan melihat ID di bilah alamat. Ini akan menjadi nomor setelah tanda sama dengan.
  3. Klik pada halaman yang ingin Anda ketahui IDnya.

Menampilkan Topik Arsip

Sebagian besar tema WordPress dilengkapi dengan halaman archive.php. Namun, saya telah melihat banyak situs web yang halaman arsipnya tidak terlalu membantu dan tidak memberi tahu pengguna topik atau kategori apa yang mereka jelajahi. Anda dapat menambahkan kode berikut di archive.php Anda untuk menghindari kebingungan.

<?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>