Konten Pemasaran

WordPress: Buat Templat Halaman yang Mengharuskan Pengguna Terdaftar dan Masuk

Kami sedang menyelesaikan penerapan tema khusus di situs klien, dan mereka meminta kami membangun semacam interaksi di mana beberapa halaman dibatasi untuk pelanggan terdaftar. WordPress memang menawarkan opsi Visibilitas untuk halaman, tapi itu tidak mengakomodasi skenario ini.

  • Swasta – Memilih visibilitas sebagai pribadi hanya memungkinkan administrator dan editor untuk melihat konten.
  • Dilindungi kata sandi – memerlukan kode unik yang diterapkan pada setiap halaman untuk melihat konten.

Pada awalnya, kami berpikir untuk mengimplementasikan plugin pihak ketiga, namun solusinya sederhana. Kita bisa membuat template unik yang mengharuskan pengunjung untuk mendaftar dan login untuk melihat halaman.

Templat WordPress: Khusus Pelanggan

Pertama, kami menyalin templat halaman klien kami (page.php) dalam anak tema. Untuk membuat template, Anda perlu menambahkan beberapa kode ke bagian atas halaman Anda:

<?php /* Template Name: Subscribers Only */ ?>

Selanjutnya, cari baris di kode halaman Anda yang menampilkan konten. Ini akan terlihat seperti ini:

<?php the_content(); ?>

Sekarang, Anda harus membungkus beberapa kode di sekitar baris itu:

<?php
$redirect_url = get_permalink(); // Get the current page's URL

if (is_user_logged_in()) :
?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
<?php else : ?>
    <h2>Subscriber Only</h2>
    <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>
<?php endif; ?>

Berikut penjelasan kodenya dalam poin-poin:

  • $redirect_url = get_permalink();: Baris ini mengambil URL halaman saat ini dan menyimpannya dalam variabel $redirect_url.
  • if (is_user_logged_in()) :: Pernyataan kondisional ini memeriksa apakah pengguna sudah login.
  • Jika pengguna login, kode dalam blok ini dieksekusi.
    • <h2><?php the_title(); ?></h2>: Ini menampilkan judul halaman saat ini.
    • <?php the_content(); ?>: Ini menampilkan konten halaman saat ini.
  • Jika pengguna belum login, kode di dalamnya else blok dieksekusi.
    • <h2>Subscriber Only</h2>: Ini menampilkan judul yang menunjukkan bahwa konten tersebut dibatasi.
    • <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>: Ini menampilkan pesan yang menjelaskan bahwa konten dibatasi untuk peran tertentu dan menyediakan tautan “Masuk”. Tautannya href atribut diatur ke URL login yang dihasilkan oleh wp_login_url($redirect_url), memastikan bahwa pengguna dialihkan kembali ke halaman saat ini setelah masuk.

Kode ini secara efektif memeriksa apakah pengguna masuk dan, jika tidak, mendorong mereka untuk masuk untuk mengakses konten yang dibatasi, dengan tautan yang mengarahkan mereka kembali ke halaman yang mereka coba lihat.

Lihat Berdasarkan Peran Pengguna Tertentu

Anda juga dapat membatasi konten untuk peran pengguna tertentu jika Anda ingin:

<?php
$allowed_roles = array('subscriber', 'editor', 'author'); // Add the roles you want to allow

$user = wp_get_current_user();
$redirect_url = get_permalink();

if (array_intersect($allowed_roles, $user->roles)) :
?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
<?php else : ?>
    <h2>Restricted Access</h2>
    <p>We're sorry, the content you are trying to reach is restricted to certain roles. 
    <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>
<?php endif; ?>

Berikut penjelasan kodenya dalam poin-poin:

  • $allowed_roles = array('subscriber', 'editor', 'author');: Baris ini membuat serangkaian peran yang diizinkan, menentukan peran pengguna mana yang diizinkan untuk mengakses konten. Anda dapat menyesuaikan array ini untuk menyertakan peran yang ingin Anda izinkan.
  • $user = wp_get_current_user();: Kode ini mengambil informasi tentang pengguna saat ini, termasuk peran mereka.
  • $redirect_url = get_permalink();: Baris ini menyimpan URL halaman saat ini di $redirect_url variabel, yang akan digunakan untuk mengarahkan pengguna kembali ke halaman saat ini setelah mereka login.
  • if (array_intersect($allowed_roles, $user->roles)) :: Pernyataan kondisional ini memeriksa apakah peran pengguna bersinggungan dengan peran yang tercantum dalam $allowed_roles Himpunan. Dengan kata lain, ia memeriksa apakah pengguna memiliki salah satu peran yang diizinkan.
  • Jika pengguna memiliki salah satu peran yang diizinkan, kode dalam blok ini akan dieksekusi.
    • <h2><?php the_title(); ?></h2>: Ini menampilkan judul halaman saat ini.
    • <?php the_content(); ?>: Ini menampilkan konten halaman saat ini.
  • Jika pengguna tidak memiliki salah satu peran yang diperbolehkan, kode di dalamnya else blok dieksekusi.
    • <h2>Restricted Access</h2>: Ini menampilkan judul yang menunjukkan bahwa konten tersebut dibatasi.
    • <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>: Ini menampilkan pesan yang menjelaskan bahwa konten dibatasi untuk peran tertentu dan menyediakan tautan “Masuk”. Tautannya href atribut diatur ke URL login yang dihasilkan oleh wp_login_url($redirect_url), memastikan bahwa pengguna dialihkan kembali ke halaman saat ini setelah masuk.

Kode ini secara efektif membatasi akses ke peran tertentu, dan jika pengguna tidak memiliki salah satu peran yang diizinkan, kode ini akan meminta mereka untuk masuk dengan tautan yang akan mengarahkan mereka kembali ke halaman saat ini setelah masuk.

Pilih Templat Anda

Untuk memanfaatkan halaman ini, Anda harus memilih Hanya Pelanggan templat halaman di bagian lanjutan opsi halaman Anda (di sidebar). Ini akan membatasi halaman untuk pembaca yang login atau peran yang Anda tentukan.

Douglas Karr

Douglas Karr adalah CMO dari Buka WAWASAN dan pendiri dari Martech Zone. Douglas telah membantu lusinan startup MarTech yang sukses, membantu uji tuntas lebih dari $5 miliar dalam akuisisi dan investasi Martech, dan terus membantu perusahaan dalam menerapkan dan mengotomatiskan strategi penjualan dan pemasaran mereka. Douglas adalah pakar dan pembicara transformasi digital dan MarTech yang diakui secara internasional. Douglas juga merupakan penulis panduan Dummie dan buku kepemimpinan bisnis.

Artikel terkait

Kembali ke atas tombol
Penyelesaian

Adblock Terdeteksi

Martech Zone dapat memberi Anda konten ini tanpa biaya karena kami memonetisasi situs kami melalui pendapatan iklan, tautan afiliasi, dan sponsor. Kami akan sangat menghargai jika Anda menghapus pemblokir iklan saat Anda melihat situs kami.