ثاني عشر
آفلاین
عضو
تعداد نوشتهها: ۱۴۲
تشکر شده: ۷۱ بار
#
نوشته شده: ۱۲ سال پیش
۲۵ آذر ۱۳۹۰ - ۲۱:۳۸
با سلام
براي خصوصي سازي سايت، دوستان پستهاي زيادي رو زدن و افزونه هاي hidepost و login to view all رو هم معرفي كردن اما من ميخواستم ببينم: آيا اين امكان هم وجود داره كه اصل ورود به سايت، مخصوص اعضا باشه؟!
چون در اين افزونه ها، بايد متن مورد نظر، بين كد [hidepost] و [hidepost/] يا كد <!--loginview start--> و <!--loginview end--> قرار بگيره كه خيلي وقت گيره؛ من ميخوام تمام مطالب سايت، ويژه ي اعضا باشه! ميشه؟!
ممنون
Parsa
آفلاین
عضو فعال
تعداد نوشتهها: ۱۹۲۱
تشکر شده: ۲۶۸۳ بار
#
نوشته شده: ۱۲ سال پیش
۲۶ آذر ۱۳۹۰ - ۰۰:۰۴
تابع is_user_logged_in
<?php if(is_user_logged_in()): ?>
استفاده از مطالب
<?php else: ?>
برای استفاده از مطالب، لطفا وارد شوید
<?php endif; ?>
ثاني عشر
آفلاین
عضو
تعداد نوشتهها: ۱۴۲
تشکر شده: ۷۱ بار
#
نوشته شده: ۱۲ سال پیش
۲۶ آذر ۱۳۹۰ - ۲۰:۵۸
سلام
اين پلاگين رو پيدا و نصب كردم (+) ولي اينكه فرقي نكرد!! تا اونجايي كه من فهميدم، باز هم بايد متن مورد نظر رو بين [user_is_logged_in] و [/user_is_logged_in] قرار بدم!
من ميخوام كل سايت يا بعضي از دسته ها يا برگه ها با محتوياتش (هر كدومش كه بشه)، براي كاربران غير عضو، قابل مشاهده نباشه؛ نه اينكه من متن تمام پستهام رو بين كد قرار بدم؛ آيا ممكنه؟ ممنون ميشم
Parsa
آفلاین
عضو فعال
تعداد نوشتهها: ۱۹۲۱
تشکر شده: ۲۶۸۳ بار
#
نوشته شده: ۱۲ سال پیش
۲۶ آذر ۱۳۹۰ - ۲۳:۴۱
اینو جایگزین تابع the_content کنید
<?php if(is_user_logged_in()): ?>
<?php the_content(); ?>
<?php else: ?>
برای استفاده از مطالب، لطفا وارد شوید
<?php endif; ?>
البته بهترین کار اینه که قالبی جدا یا سادهتر ایجاد نمائید
و در صورت وارد نبودن فرم لاگین را نمایش دهید
یا میتوانید خلاصه پست را نمایش دهید
و فقط هنگامی که کاربر لاگین کرده است تمام مطلب را نمایش دهید
garfield
آفلاین
عضو
تعداد نوشتهها: ۷۹۲
تشکر شده: ۲۶۲ بار
#
نوشته شده: ۱۲ سال پیش
۲۷ آذر ۱۳۹۰ - ۰۰:۰۷
اگه می خوای کاربر اصلاً هیچی نبینه اینو اولین خط function.php بگذار...
دقیقاً اولین خط، که قبل از php?> حتی یک خط فاصله هم نباشه...
<?php
if( ! is_user_logged_in()):
header("Location: ". get_option('home') . "/wp-login.php");
?>
اگر نه که چیزی که Parsa گفت اصل راه حله. منتها باید محتویات content تمام فایلهای قالبت کدی که پارسا داده رو بگذاری. مثل single.php page.php home.php index.php و الباقی اگه وجود داشته باشه.
ثاني عشر
آفلاین
عضو
تعداد نوشتهها: ۱۴۲
تشکر شده: ۷۱ بار
#
نوشته شده: ۱۲ سال پیش
۲۷ آذر ۱۳۹۰ - ۰۷:۴۱
جناب garfield ، راه حل شما رو رفتم؛ اين ارور رو داد
... themes/suffusion/functions.php on line 1698
جناب Parsa ؛ من تابع the_content رو پيدا نكردم؛ نه توي single.phpو نه page.php !! قالب من functions هست
چطوري ميشه كاري كرد كه تا اسم سايت يا هر كدوم از پستها رو ميزنن، فرم لاگين نمايش داده بشه؟ تشكر
Parsa
آفلاین
عضو فعال
تعداد نوشتهها: ۱۹۲۱
تشکر شده: ۲۶۸۳ بار
#
نوشته شده: ۱۲ سال پیش
۲۷ آذر ۱۳۹۰ - ۱۳:۲۰
فرم لاگین که یک کد html هست. قبلا قرار داده شده
به هر حال تابع the_content برای نمایش پست هست
در فایل function پیدا و جایگزین کنید
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
ثاني عشر
garfield
آفلاین
عضو
تعداد نوشتهها: ۷۹۲
تشکر شده: ۲۶۲ بار
#
نوشته شده: ۱۲ سال پیش
۲۷ آذر ۱۳۹۰ - ۱۸:۲۱
thaniashar گفت:
جناب garfield ، راه حل شما رو رفتم؛ اين ارور رو داد
... themes/suffusion/functions.php on line 1698
این چیزی که من گفتم به کل، کل وبلاگ رو از دستری خارج می کنه، مگه اینکه طرف login کرده باشه.
چیز زیاد خوبی نیست، مگه اینکه بخواید بیننده های خاص رو پوشش بدید که دقیقاً می دونند چی می خوان تو این سایت. اون ارور هم به خاطر اشکال نوشتاری بوده حتماً، شما کد رو خط اول گذاشتید. ادامه ی ارور چیه؟ اینو امتحان کنید...
<?php if( !is_user_logged_in() ){ header('Location: '. get_option('home') . '/wp-login.php'); } ?>
در ضمن، قالب بدون تابع the_content نمی شه اصلا. خوب نگشتی
ثاني عشر
آفلاین
عضو
تعداد نوشتهها: ۱۴۲
تشکر شده: ۷۱ بار
#
نوشته شده: ۱۲ سال پیش
۲۷ آذر ۱۳۹۰ - ۱۹:۵۱
از هر دو بزرگوار ممنونم ولي ...
توي فايل functions.php تابع the_content وجود نداره!! توي بعضي قالبها توي فايل page.php وجود داره ولي قالب من اونجا هم نداره!!
جناب garfield ؛ كد جديد رو هم خط اول وارد كردم ارور داد:
Warning: Cannot modify header information - headers already sent by (output started at /home/nrpnem16/domains/nemudar.com/public_html/wp-content/themes/suffusion/functions.php:3) in /home/nrpnem16/domains/nemudar.com/public_html/wp-login.php on line 353
Warning: Cannot modify header information - headers already sent by (output started at /home/nrpnem16/domains/nemudar.com/public_html/wp-content/themes/suffusion/functions.php:3) in /home/nrpnem16/domains/nemudar.com/public_html/wp-includes/pluggable.php on line 754
و 15 تا ارور ديگه!!
garfield
آفلاین
عضو
تعداد نوشتهها: ۷۹۲
تشکر شده: ۲۶۲ بار
#
نوشته شده: ۱۲ سال پیش
۲۹ آذر ۱۳۹۰ - ۱۸:۵۷
thaniashar گفت:
توي فايل functions.php تابع the_content وجود نداره!! توي بعضي قالبها توي فايل page.php وجود داره ولي قالب من اونجا هم نداره!!
index.php
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
ثاني عشر
ثاني عشر
آفلاین
عضو
تعداد نوشتهها: ۱۴۲
تشکر شده: ۷۱ بار
#
نوشته شده: ۱۲ سال پیش
۲ دی ۱۳۹۰ - ۱۰:۳۷
توي فايل index.php هم نبود
آقا ولش كن بيخيال شدم؛ از همون روشهاي قديمي استفاده ميكنم!!
Masoud
آفلاین
کلیددار
تعداد نوشتهها: ۸۱۵
تشکر شده: ۶۳۲ بار
#
نوشته شده: ۱۲ سال پیش
۳ دی ۱۳۹۰ - ۲۳:۱۰
اگه میخواهید یک وبلاگ خصوصی داشته باشید ، پیشنهاد میکنم این مطلب رو مطالعه کنید :
http://wpmu.org/how-to-set-up-a-wordpress-private-blog/
فکر میکنم اگه این مطلب رو مطالعه کنید به جوابتون برسید.
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
ثاني عشر