تقييد الوصول إلى صفحات WordPress وإنشاء منطقة أعضاء

نشرت: 2016-02-10

تبحث لنشر دورات متميزة أو بعض المنتجات الإعلامية؟ قد ترغب في تقييد محتوى WordPress فقط للقراء / الأعضاء الذين يدفعون مقابل ذلك. وإخفاء المحتوى للزوار العامين. باستخدام WordPress ، يمكنك بسهولة حماية مثل هذه المعلومات باستخدام قيود المحتوى المتنوعة مما يعني أن WordPress يدعم مباشرة خارج الصندوق أو بمساعدة المكونات الإضافية.

سنستعرض هذه الأساليب المختلفة في هذه المقالة. سنناقش:

  • الفرق بين الصفحات المحمية بكلمة مرور والصفحات الخاصة (وأين يقصر الحلان)
  • اختراق لمدة دقيقتين لإنشاء منطقة أعضاء بسيطة على موقع WordPress الخاص بك (بدون استخدام مكون إضافي)
  • الحصول على مقالات قاعدة المعارف الخاصة بك لتظهر في منطقة الأعضاء الخاصة بك (هذا القسم مخصص لك إذا كنت تستخدم موضوع KnowAll أو حل قاعدة المعرفة البطولية)
  • المكونات الإضافية المجانية التي ستساعدك على التحكم في الوصول إلى صفحات موقعك ومنشوراتك والمحتويات الأخرى

لنبدأ بفهم الفرق بين المحتوى المحمي بكلمة مرور والمحتوى الخاص.

إنشاء قاعدة معرفية خاصة - الطريق السهل!

قم ببناء قاعدة معرفية خاصة قابلة للبحث بسهولة باستخدام Heroic Knowledge Base.

احصل على البرنامج المساعد

محمية بكلمة مرور مقابل الخصوصية

إن أبسط طريقة لتقييد الوصول إلى صفحة معينة (أو محتوى منشور آخر) هي استخدام إعدادات " الرؤية " المختلفة التي يوفرها WordPress افتراضيًا.

يمكنك العثور على هذه الخيارات في اللوحة اليمنى أينما تضيف صفحة أو منشورًا جديدًا:

ضمن إعدادات الرؤية ، هناك 3 خيارات لرؤية الصفحة (أو المنشور):

  1. عام - في ظل هذا الإعداد الافتراضي ، يكون المحتوى متاحًا لجميع زوار الموقع
  2. محمي بكلمة مرور - هنا ، يمكن للقراء الذين لديهم كلمة مرور الصفحة (أو المنشور) فقط فتح الوصول إلى المحتوى
  3. خاص - يمنح هذا الخيار الوصول إلى مستخدمين محددين بناءً على دورهم

يسمح لك خياري الرؤية الثاني والثالث بتقييد محتوى معين.

دعونا نرى كيف:

1. حماية الصفحات / المشاركات بكلمة مرور

هذا خيار مباشر للغاية يمنحك القدرة على حماية الصفحات والمشاركات الفردية بكلمة مرور ببساطة عن طريق تعيين كلمة مرور لتلك الصفحة (أو المنشور).

يمكن لأي شخص يعرف كلمة المرور الوصول إلى المحتوى.

الآن ، يعمل هذا الخيار إذا كان لديك صفحة أو صفحتان تريد إخفاءهما عن عامة الناس. ومع ذلك ، يمكنك أن تتخيل أنه إذا كان لديك مئات المقالات للحماية ، فسيتعين عليك الاحتفاظ بمئات من كلمات المرور وتوزيعها مع جميع القراء المؤهلين.

هناك مشكلة أخرى في هذه الطريقة وهي أنه إذا عثر المستخدم على مثل هذا المحتوى أو نقر على رابط لهذه الصفحة المحمية بكلمة مرور ، فسوف يرى شاشة تطلب كلمة مرور ، حتى يعرف أن هناك بعض المحتوى المحمي أو الحصري على موقعك . لذلك ، إذا كنت لا تريد أن يتعرف الأشخاص الذين ليس لديهم إمكانية الوصول على هذا المحتوى ، فلن تحل هذه الطريقة هدفك.

تُظهر لقطة الشاشة التالية مثالاً لمورد محمي بكلمة مرور:

علاوة على ذلك ، فإن حماية الصفحة بكلمة مرور لا تزيل تلك الصفحة من موقع الويب إذا لم يكن لديك إذن لمشاهدتها. بدلاً من ذلك ، تمت إضافة كلمة " محمية: " إلى بداية العنوان ، والتي لها استخداماتها ، لكنها ليست مثالية إذا كنت لا تريد أن يعرف الأشخاص أن هناك محتوى خاصًا على موقع الويب.

المقالات المحمية

2) تعليم الصفحات / المشاركات خاصة

لا تتطلب الصفحات الخاصة كلمات مرور فردية لفتحها. يتم منح الوصول إلى هذه الصفحات بعد التحقق من دور المستخدم. عادة ، يمكن فقط لمسؤولي الموقع أو المحررين عرض هذه الصفحات الخاصة.

إليك كيف تبدو الصفحة التي تم وضع علامة "خاصة" عليها كما يلي:

يتمثل الاختلاف الكبير الآخر بين الصفحات المحمية بكلمة مرور والصفحات الخاصة في أنه إذا لم يكن لديك امتيازات كافية لعرض الصفحة ، فلن يتم عرضها على موقع الويب في أي مكان.

هذا مفيد بشكل خاص إذا كنت لا تريد أن يعرف زائر الموقع العادي أن هناك محتوى إضافيًا على موقع الويب.

مسجّل الدخول و لا
على اليسار: يتم إخفاء المقالات الخاصة تمامًا إذا لم تقم بتسجيل الدخول أو لم يكن لديك الأذونات الصحيحة. اليمين: نفس المقالات متاحة للجمهور.

انها واضحة:

من بين الخيارين ، يكون إعداد الرؤية الخاصة فقط منطقيًا إذا كنت تريد تقييد الكثير من المحتوى على موقعك.

ولكن كما يمكنك أن تقول ، لا يمكنك منح كل مستخدم مسؤول أو محرر وصول على موقعك. مما يعني أنك بحاجة إلى تقديم مستوى عضوية آخر ( المشتركين ). ثم قم بتعيين مستوى رؤية الصفحات الخاصة على مستوى المشتركين. بهذه الطريقة ، سيتمكن جميع المشتركين لديك من الوصول إلى كل المحتوى المحظور.

إليك كيفية تنفيذ نظام الوصول البسيط هذا عن طريق إنشاء منطقة الأعضاء:

إنشاء منطقة أعضاء بسيطة

أولاً ، قم بإنشاء مجموعة من الصفحات التي ستكون متاحة فقط للأعضاء. اجعل كل هذه الصفحات خاصة.

الآن نظرًا لأنه افتراضيًا ، يمكن فقط للمستخدمين الذين لديهم حق الوصول إلى المحرر أو مستوى المسؤول الوصول إلى هذه الصفحات ، نحتاج إلى جعل هذه الصفحة مرئية للمستخدم على مستوى المشترك أيضًا.

للقيام بذلك ، تحتاج إلى إضافة وظيفة وإجراء جديد إلى ملف functions.php في قالبك.

لذلك ، انتقل إلى ملف functions.php في قالبك وأضف الكود التالي إليه:

/**
* Add read_private_posts capability to subscriber
* Note this is saves capability to the database on admin_init, so consider doing this once on theme/plugin activation
*/
add_action ('admin_init','add_sub_caps');

function add_sub_caps() {
	global $wp_roles;
	$role = get_role('subscriber');
	$role->add_cap('read_private_posts');
}

كل ما يفعله هذا هو تغيير القدرات (الأذونات) المعينة لدور المشترك لتضمين القدرة على قراءة المنشورات الخاصة. لاحظ أن هذا إجراء لمرة واحدة ، لذا من الأفضل أن تقوم بتنشيط السمة / المكون الإضافي ، أو قم بالتعليق على الكود عند الانتهاء. انظر الملاحظات الإرشادية للدستور الغذائي على add_cap. أيضًا ، إذا كنت تريد إزالة الإمكانية ، فستحتاج إلى تغيير الرمز لاستخدام وظيفة remove_cap.

إعداد تسجيل الدخول لمنطقة الأعضاء

الآن وقد أصبحت منطقة الأعضاء الخاصة بك جاهزة ، فقد حان الوقت لتسهيل تسجيل الدخول على المشتركين. بالطبع ، يمكن للمستخدمين استخدام رابط yourwebsite.com/wp-login.php ، لكنك توافق على أن هذا ليس كذلك سهل الاستخدام للغاية.

لإعداد مربعات تسجيل دخول سهلة الاستخدام ، يمكنك استخدام ملحق أداة تصفيف صفحة تسجيل الدخول.

يتيح لك مصمم صفحة تسجيل الدخول تصميم صفحات تسجيل الدخول لموقع WordPress الخاص بك. يمكنك ببساطة إضافة عنصر يسمى "تسجيل الدخول" إلى قائمتك الرئيسية ، وربطه بصفحة تسجيل الدخول المخصصة المصممة باستخدام أداة تصفيف صفحة تسجيل الدخول.

هناك أيضًا بعض المكونات الإضافية الأخرى ولكن معظمها لم يتم تحديثه لمدة عام على الأقل ، لذا تأكد من التحقق من توافقها قبل استخدامها.

بمجرد أن تجعل المحتوى الخاص بك متاحًا للمشتركين لديك عبر شاشة تسجيل دخول ودية ، يجب أن تكون قد انتهيت.

في القسم التالي ، سنرى كيف يمكنك الحصول على مقالات قاعدة المعارف الخاصة بك (مدعومة من Heroic Knowledge Base) لتظهر في منطقة الأعضاء الخاصة بك.

الحصول على منطقة الأعضاء لتضمين مقالات من قاعدة المعارف البطولية

إذا كنت تستخدم سمة KnowAll أو المكون الإضافي Heroic Knowledge Base لتعزيز قاعدة المعرفة الخاصة بموقعك على الويب ، فيمكنك جعل محتوى الدعم الخاص بك في متناول المشتركين في منطقة الأعضاء مباشرة!

قبل أن تقرأ المزيد ، عد إلى مقالتي السابقة حيث أوضحت كيفية استخدام المكون الإضافي لقاعدة المعرفة البطولية مع WooCommerce. سيكون تحديثًا جيدًا لأنه ، في هذه الإرشادات التفصيلية ، سأشير إلى بعض التعليمات البرمجية ومجموعة الحقول المخصصة التي أنشأناها في هذا المنشور.

ابدأ بتثبيت البرنامج المساعد Advanced Custom Fields.

في السابق ، كنا قد أنشأنا مجموعة حقول مخصصة تسمى " خيارات المنتج ".

بالنسبة لهذا البرنامج التعليمي ، أقوم بإعادة تسمية "خيارات المنتج" إلى " فئات قاعدة المعارف " والشيء التالي الذي يجب القيام به هو تحرير هذه المجموعة لتضمين كل من الصفحات والمنشورات. في الوقت الحالي ، يتم تعيين الحقل المخصص فقط للعرض إذا كان نوع المنشور منتجًا. لكننا نريد الآن أن نتمكن من تطبيقه على الصفحات أيضًا.

للقيام بذلك ، انتقل إلى الحقول المخصصة في المسؤول ، وقم بتحرير خيارات المنتج.

الحقول المخصصة

بمجرد الإعداد ، قم بإنشاء مقالات قاعدة المعارف التي تنوي إتاحتها فقط للأعضاء الذين يدفعون. اضبط كل هذه الصفحات على "خاصة" حتى لا يمكن الوصول إليها مباشرة. قم بتعيينهم إلى فئة ، قل " فئة المحتوى المقيّد ". لاحقًا ، يمكنك تحديد هذه الفئة ليتم عرضها على صفحاتك المقيدة.

تحرير الصفحة

الخطوة الأخيرة هي تعديل ملف page.php لعرض الفئة المختارة.

للقيام بذلك ، سنعود إلى الوظيفة التي أنشأناها لملء علامة تبويب WooCommerce ثالثة بمقالات قاعدة المعارف في رسالتي السابقة. يمكنك إعادة استخدام ذلك هنا. ما عليك سوى إعادة صدى الوظيفة في page.php في السمة الفرعية لعرض فئة المقالات المحددة لأي صفحة معينة.

يجب أن يبدو رمز page.php الخاص بك بالشكل التالي:

<?php get_header(); ?>

<div id="primary" class="content-area">
	<main id="main" class="site-main" role="main">
	
	    <?php 
			//loop start
			while ( have_posts() ) : the_post(); 
				//include the page content template. 
				get_template_part( 'template-parts/content', 'page' ); 

				//check and load the woo_knowledge_base_content
				if( function_exists( 'woo_knowledge_base_content' ) ){
					echo woo_knowledge_base_content();
				} else {
					echo 'function woo_knowledge_base_content() missing';
				}
				 
				//load comment template
				 if ( comments_open() || get_comments_number() ) { 
				 	comments_template(); 
				 } //loop end 
			 endwhile; 
		?>
 
	</main><!-- .site-main -->
		<?php get_sidebar( 'content-bottom' ); ?>
 
</div> <!-- .content-area -->
 
<?php get_sidebar(); ?>
<?php get_footer(); ?>

الخط الوحيد الذي تغير هو

echo woo_knowledge_base_content();

يجب أن تتضمن صفحتك الآن الفئة المحددة لمقالات قاعدة المعارف وستبدو كما يلي:

الصفحة النهائية

باستخدام هذا ، يجب أن تكون قد عرضت بنجاح المقالات من قاعدة المعارف الخاصة بك داخل منطقة الأعضاء على موقع الويب الخاص بك.

بعض الإضافات المجانية لتقييد المحتوى على موقع WordPress

إذا كنت لا تريد الترميز ، ففكر في تثبيت أحد المكونات الإضافية التالية. يمكن لكل منهم مساعدتك في حماية المحتوى الخاص بك من المستخدمين غير المسجلين.

عضوية مدفوعة برو

باستخدام Paid Memberships Pro ، يمكنك ضمان حصول أعضائك فقط على حق الوصول إلى المكونات المختلفة لموقع الويب الخاص بك مثل الصفحات والمنشورات والفئات والمنتديات والتنزيلات ومحتوى الدعم والمزيد.

s2 عضو

s2Member هو مكون إضافي خفيف الوزن لبرنامج WordPress يسمح بتقييد المحتوى. باستخدام s2Member ، يمكنك تقييد الوصول إلى منشوراتك وصفحاتك وفئاتك وعلاماتك وملفاتك القابلة للتنزيل والمنتديات والملفات الأخرى على المستخدمين المسجلين فقط.

عضوية بسيطة

تأتي العضوية البسيطة مع لوحة تحكم ودية تتيح لك حماية المحتوى الحصري للأعضاء مثل المنشورات والصفحات ومعارض الصور والمرفقات والمزيد من زوار الموقع العام.

بالإضافة إلى ذلك ، يمكنك أيضًا التحقق من أعضاء WP و العضوية وتقييد المحتوى - اشتراكات الأعضاء المدفوعة. حتى هذه المكونات الإضافية تساعدك في قفل المحتوى المتميز الذي يسمح بالوصول إلى المستخدمين المسجلين فقط.

قم بتغليفه…

اعتمادًا على أهدافك ، قد تحتاج إلى أي شيء بين قدرات تقييد المحتوى الأساسي والمتقدم. لكنك الآن تعرف كيفية تنفيذ منطقة أعضاء بسيطة بنفسك. أنت تعرف حتى أفضل المكونات الإضافية للاختيار من بينها.

لذا جرب الكود أو المكونات الإضافية وشارك تجاربك أدناه.