(جهت دانلود و اطلاعات بیشتر به ادامه مطلب مراجعه نمائید)
با سلام و خسته نباشید خدمت کاربران سایت داده باران
با آموزشی دیگر در مبحث وردپرس با شما دوستان هستیم ، اگر به بیشتر وبلاگ ها ( از جمله رزبلاگ ، میهن بلاگ و … ) سر زده باشید یا در این سیستم ها وبلاگی درست کرده باشید خواهید دید که قسمتی تعبیه شده تا وبمستر های عزیز بتوانند برای جذب کاربر مطالب را بصورتی در بیاورند که برای خواندن مطلب نیاز به ثبت نام باشد ، اما ایا این امکان برای وردپرس نیز وجود دارد ؟ باید بگیم که خیر این قابلیت به صورت پیشفرض در ورپرس وجود ندارد و شما باید با استفاده از کد های ترکیبی این کار را انجام دهید.با ما همراه باشید که این امکان را به وردپرس خودمون اضافه کنیم
فایده ثبت نام کردن اجباری چیه ؟
اگر دقت کرده باشید ، بیشتر وبلاگ ها مطالبی قرار میدهند که شما برای اینکه نیاز خود را برطرف کنید در سایت ثبت نام میکنید.
برای افزودن این قابلیت ما با چهار تابع وردپرس آشنا بشیم
- تابع is_user_logged_in() = بررسی میکند که آیا بازدید کننده وارد اکانت کاربری خود شده یا خیر.
- تابع get_extended() = جدا سازی بخش اول مطلب که در صفحه اصلی است و بخش دوم که در ادامه مطلب است.
- تابع wp_login_form() = فرم ورود وردپرس را از هسته وردپرس در داخل سایت فراخوانی میکند.
- تابع wp_register() = لینک ثبت نام در سایت.
در ابتدا فایل single.php پوسته مورد استفاده خود را باز کنید و the_content() را جست و جو کنید. حالا نیاز داریم به شرط های پی اچ پی داریم. به کد ها دقت کنید.
[code lang=”js”]<?php if ( is_user_logged_in() ) : ?>
<?php $content_arr = get_extended (get_the_content() ); echo $content_arr[‘main’]; echo $content_arr[‘extended’]; ?>
<?php else: ?>
<?php $content_arr = get_extended (get_the_content() ); echo $content_arr[‘main’]; ?>
<?php $args = array( ‘echo’ => true,
‘redirect’ => site_url( $_SERVER[‘REQUEST_URI’] ),
‘form_id’ => ‘loginform’,
‘label_username’ => __( ‘Username’ ),
‘label_password’ => __( ‘Password’ ),
‘label_remember’ => __( ‘Remember Me’ ),
‘label_log_in’ => __( ‘Log In’ ),
‘id_username’ => ‘user_login’,
‘id_password’ => ‘user_pass’,
‘id_remember’ => ‘rememberme’,
‘id_submit’ => ‘wp-submit’,
‘remember’ => true,
‘value_username’ => ”,
‘value_remember’ => true
);
?>
<?php wp_login_form($args); ?>
<?php echo wp_register(‘ ‘,’ ‘); ?>
<?php endif; ?>[/code]
خب کافیه که کد بالا رو با the_content() جایگزین کنیم. کار ما تموم شده و شما میتونید از قسمت ادامه مطلب خود سو استفاده کنید
ولی لازمه که یه توضیحاتی درباره تابع get_extended() بدم. این تابع برای جدا کردن قسمت مطالب بعد از تگ <!–more–> و بعد از آن بکار میرود ولی چطور ؟
این تابع دو مقدار main و extended داره که هر کدوم مقدار خاصی رو نمایش میدهند ولی خب برای نمایش باید بصورت درست مقدار دهی بشند پس کد های زیر رو با دقت نگاه کنید.
[code lang=”js”]$content_arr = get_extended (get_the_content() );
$content_arr[‘main’]
$content_arr[‘extended’][/code]
در ابتدا متغیر تعریف کردیم و مقدار get_extended (get_the_content() ) را برایش در نظر گرفتیم و با استفاده از دو کد بعد درخواست میکنیم که مطالب کدوم بخش نشان داده بشوند
برای نمایش مطالب هم از دو کد زیر استفاده میکنیم
مطالب صفحه اصلی :
[code lang=”js”]$content_arr = get_extended (get_the_content() );
$content_arr[‘main’][/code]
ادامه مطلب :
[code lang=”js”]$content_arr = get_extended (get_the_content() );
$content_arr[‘extended’][/code]
و بعد از انجام کامل این بخش ها ، نتیجه ما همین فرم زیر خواهد شد.
اگر در هر قسمتی از آموزش مشکلی داشتید حتما از قسمت نظرات به ما اعلام کنید تا شما را راهنمایی کنیم