این هفته ، ما در حال پایان دادن به اجرای یک موضوع سفارشی در یک سایت مشتری بودیم و آنها درخواست کردند که نوعی تعامل ایجاد کنیم که برخی از صفحات فقط به مشترکان ثبت شده محدود شود. در ابتدا ، ما در مورد پیاده سازی افزونه های شخص ثالث فکر کردیم ، اما راه حل در واقع کاملاً ساده بود.
ابتدا الگوی صفحه را در پرونده جدید کپی کردیم (هر نامی خوب است ، فقط پسوند php را حفظ کنید). در بالای صفحه ، حتماً در مورد صفحه نظر دهید تا بتوانید آنرا با نام ویرایشگر الگو مشاهده کنید:
در مرحله بعد ، در کد صفحه خود به دنبال خطی بروید که محتوا را نمایش دهد. می بایست شبیه به این باشه:
اکنون ، باید برخی از کدها را در آن خط بپیچید:
فقط مشترک متأسفیم ، محتوایی که می خواهید به آن دسترسی پیدا کنید فقط به مشترکان محدود شده است.
این کد با بررسی جلسه برای بررسی ورود کاربر به سایت وردپرس شما شروع می شود یا خیر. در صورت ورود به سیستم ، محتوا نمایش داده می شود. اگر آنها وارد سیستم نشوند ، در این پیام آمده است که شما در تلاش برای دستیابی به محتوای محدود هستید.
برای استفاده از صفحه ، باید گزینه فقط مشترکین الگوی صفحه در بخش پیشرفته گزینه های صفحه شما (در نوار کناری). با این کار صفحه فقط به خوانندگانی که وارد سیستم شده اند محدود می شود.
اگر دوست دارید واقعاً فانتزی شوید ، می توانید روش ورود و خروج به نوار کناری خود را نیز اضافه کنید:
">خروج /wp-login.php">ورود مشتری
پست خوبی بود... متعجبم که این در گزینه های Visibility موجود نیست.
این یک راه حل عالی است، داگ! یک مثال عالی برای یافتن راه حل آسان، اما موثر.
پست مفید، این این صفحه را توییت کرد. هر چند من یک سوال دارم
اگر بخواهید بخشی از یک صفحه وبلاگ را به همه بازدیدکنندگان نشان دهید، اما کل آن را فقط به مشترکین نشان دهید، چه؟
سلام پارتا
این بسیار ساده خواهد بود - می توانید همان تکنیک را به هدر صفحه اضافه کنید و اساساً بگویید ... اگر (هیچ کاربری و صفحه ای برابر با نام صفحه نیست) سپس سرصفحه را به صفحه ورود به سیستم وارد کنید.
داگ
راه حل ظریف عالی! همان چیزی که نیاز داشتم، به طور جدی به فکر ساختن یک سیستم ورود خارجی بودم.
این سنگ!
این برای افرادی که در حال یادگیری هستند کاربر پسند نیست. اصلا کاربر پسند نیست!!!!
قطعاً این را برای تازه کار در ذهن ننوشته ام. متاسفم Devs_mum!
کاربر پسند نیست اما اشکالی ندارد... من احساس میکنم برخی از عکسها از کاری که قرار است انجام دهم میتواند کمک کند. در غیر این صورت ... من فقط قصد دارم چیزهایی را امتحان کنم تا کار کند!
page.php را کپی کنید، نام page2.php را تغییر دهید و کد را در بالا وارد کنید، فایل را ذخیره کنید، دوباره به محتوا/موضوع/whateveritiscalled آپلود کنید، به پست بروید یا صفحهبندی پیشفرض صفحه را به page2.php تغییر دهید. نیازی به ایجاد یک سبک / طرح بندی صفحه جدید نیست، فقط یکی را که استفاده می کنید کپی کنید و نام آن را تغییر دهید. بنابراین fullwidth.php fullwidth2.php به همین سادگی است.
خوب پس پس از تلاش های فراوان و تماشای آموزش های دیگر در اینترنت... متوجه شدم که ساختن یک الگوی صفحه جدید مشکل من است. من یکی را در یک ویرایشگر متن می سازم و سعی می کنم آن را در ... کجا آپلود کنم؟ من حتی نمی دانم کجا بروم. به نظر نمی رسد این مکان مخفی را برای آپلود پیدا کنم!
خیلی درسته، لاروک! شما باید یک برنامه FTP داشته باشید و به پوشه تم وب سایت خود دسترسی داشته باشید تا بتوانید فایل را در آنجا آپلود کنید. در حال حاضر هیچ راهی برای انجام آن از طریق صفحه مدیریت وجود ندارد. یک استثنا می تواند نصب یک افزونه "File Manager" باشد که به شما امکان می دهد فایل های جدید بسازید. با این حال مراقب باشید!
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
مطمئناً می توانید بررسی کنید که آیا کاربر وارد شده است یا خیر. با این حال، روش تعریف شده در بالا در نهایت به شما این امکان را می دهد که اگر می خواهید سطوح را سفارشی کنید، از سطوح مجوز استفاده کنید!
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
یا فقط استفاده کنید - نیازی به بارگیری کل شی کاربر نیست.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
خوب، پس من گاز می گیرم... چگونه این را تغییر می دهید تا اجازه بررسی مجوزها را بدهد؟
بیایید بگوییم - ما همچنان میخواهیم به هر کسی اجازه دهیم نام کاربری "مشترک" خود را ایجاد کند و پاسخها را پست کند.
اما - ما فقط دسترسی به صفحه «فقط مشترکین» را فقط به آن دسته از کاربرانی که توسط یک مدیر مشخص شده است اعطا می کنیم؟
خیلی ممنون !
داگلاس - من از کد شما استفاده کردم - و در بیشتر موارد عالی کار می کند! مشکلی که من دارم این است که لینک خروج به سایتی که وجود ندارد برمی گردد. من در واقع چندین کد وردپرس را از سراسر وب امتحان کردم تا کد خروج از سیستم کار کند. . . اما کاربر همچنان وارد سیستم میشود و بازگشت //wp-login.php?redirect_to=“>log%20in%20%20%20%20%20%20%20%20%20%20%20%20%20 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%XNUMX%XNUMX
هر افکار؟
به نظر می رسد ممکن است زمانی که کد از مرورگر شما کپی شده است، مجموعه ای از فضاهای HTML را اضافه کرده است، رایان. کد را در Notepad یا Textpad کپی کنید و سپس آن را در قالب خود کپی کنید تا از شر این موارد خلاص شوید.
خوب پس این دقیقاً همان کاری است که باید انجام دهم اما یک سوال دارم. اگر آنها مشترک نیستند، چگونه می توانم کادر "ورود به سیستم" یا "اشتراک" را ظاهر کنم تا بتوانند به محتوا دسترسی داشته باشند؟
با تشکر
می توانید پیوندی را بعد از عبارت else قرار دهید که در آن بالا عبارت «متاسفیم…» را داریم.
ممنون از کد مردم را از من عصبانی می کند، اما آنها تصور می کنند زمانی که چیزی را می خواهند وارد سیستم شوند و به همه اجازه دسترسی آزاد برای آسان کردن فایل ها را نمی دهد.
به نظر می رسد این روش در معرض ربودن جلسه است. کوکی ورود به سیستم زمانی که در قسمت امن است اضافه می شود، اما از آنجایی که وردپرس این کوکی را به عنوان یک کوکی غیر ایمن ارائه می کند، اگر کاربر به قسمتی از سایت که رمزگذاری نشده است بازگردد، همچنان ارائه می شود.
این یک هک نیست، از توابع API وردپرس استفاده می کند – و هیچ امنیتی را دور نمی زند و مستقیماً به جلسه یا کوکی دسترسی ندارد.
با تشکر بسیار از دستور if برای انجام یک ظرف div در صورتی که کاربر عضو است استفاده کرد
راه حل شما عالی بود