قطعه کدی را به شما معرفی می کنیم که توسط آن خواهید توتانست تمامی لینک های داخل مطالب را بدون شورت کد (shortcode) فقط به کاربران عضو شده نمایش دهید.

با digital98 همراه باشید تا با هم کارکرد نمایش لینک ها فقط برای اعضا را بررسی کنیم.

کدی که معرفی خواهد شد بررسی می کند هنگامی که کاربر در حال مشاهده مطلب است وارد سایت شده یا خیر!!

اگر کاربر مورد نظر وارد سایت شده باشد مطلب بدون تغییر به او نمایش داده می شود.

ولی اگر مهمان بود به جای لینک ها خطای [مشاهده لینک ها فقط برای اعضا امکان پذیر است] را نمایش می دهد.

به 2 روش می توان از این کد استفاده نمود:

1- هدایت کاربر به صفحه ورود سایت :

کد زیر بصورت پیش فرض کاربر را به صفحه ورود سایت هدایت می کند. با این حال اگر چیز دیگری می پسندید می توانید آن را ویرایش کنید:

add_filter( 'the_content', 'content_link_for_user_digital98', 1 );

function content_link_for_user_digital98( $content = '' ) {
// digital98.ir
if( ! is_user_logged_in() ) {
preg_match_all( "#<a(.*?)>(.*?)</a>#i", $content, $matches );
$num = count( $matches[0] );
for( $i = 0; $i < $num; $i++ ) {
$content = str_replace( $matches[0][ $i ], '<a href="' . wp_login_url() . '"><span style="color:#F00;">[مشاهده لینک ها فقط برای اعضا امکان پذیر است]<span></a>', $content );
}
}

return $content;
}

2- هدایت کاربر به صفحه عضویت سایت :

کد زیر بصورت پیش فرض کاربر را به صفحه عضویت سایت هدایت می کند. با این حال اگر چیز دیگری می پسندید می توانید آن را ویرایش کنید:

add_filter( 'the_content', 'content_link_for_user_digital98', 1 );

function content_link_for_user_digital98( $content = '' ) {
// digital98.ir
if( ! is_user_logged_in() ) {
preg_match_all( "#<a(.*?)>(.*?)</a>#i", $content, $matches );
$num = count( $matches[0] );
for( $i = 0; $i < $num; $i++ ) {
$content = str_replace( $matches[0][ $i ], '<a href="' . wp_registration_url() . '"><span style="color:#F00;">[مشاهده لینک ها فقط برای اعضا امکان پذیر است]<span></a>', $content );
}
}

return $content;
}