‏إظهار الرسائل ذات التسميات ووردبريس. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات ووردبريس. إظهار كافة الرسائل

الخميس، 16 أكتوبر 2014

منع المشتركين من الدخول إلى لوحة التحكم

عندما تفتح باب التسجيل في موقعك أو مدونتك, فإن السماح للأعضاء من رتبة مشترك بالدخول إلى لوحة التحكم أمر لا معنى له, بإستثناء إذا كان العضو يريد عمل تغييرات في ملفه الشخصي.
منع المشتركين من الدخول إلى لوحة التحكم
الأعضاء من رتبة مشترك يمكنهم وضع تعليقات دون ملئ خانات نمودج التعليقات و في بعض الحالات يحصلون على ميزات إضافية مثل تعليقات بلون مخصص, مشاهدة المقالات الخاصة بالمشتركين, تحميل الملفات… حسب التخصيصات التي تم عملها في الموقع.
إذا كنت تريد منع المشتركين من الدخول إلى لوحة التحكم فما عليك إلا وضع هذا الكود في ملف funtions.php أو في إضافتك المخصصة.
01// منع المشتركين من الدخول إلى لوحة التحكم
02function saidweb2_0_admin_panel(){
03                global $current_user;
04                get_currentuserinfo();
05                if ($current_user->user_level <  4) {
06                        wp_redirect( get_bloginfo('url') );
07                        exit;
08                }
09        }
10        add_action('admin_init''saidweb2_0_admin_panel');
تقوم بحفض التغييرات, و عندما يقوم عضو برتبة مشترك بتسجيل الدخول يتم إعادة توجيهه إلى الصفحة الرئيسية بدلا من لوحة التحكم.

إستبعاد تصنيف معين من الصفحة الرئيسية ووردبريس

هناك حالات التي نريد فيها إستبعاد تصنيف معين من الصفحة الرئيسية, و إضهاره فقط في قسم معين لسبب معين. إذا كنت قد فكرت في إستبعاد تصنيف معين من الصفحة الرئيسية, يمكنك فعل ذلك بسهولة ذون اللجوء إلى إستعمال إضافة. هناك طريقتين للقيام بهذا العمل لكن قبل البدأ يجب تحديد رقم التصنيف الذي تريد إستبعاده, لهذا قم بالذهاب إلى “مقالات” و بعدها أدخل إلى “تصنيفات”, قم بتمرير الفأرة فوق إسم التصنيف لكي يظهر لك رقم التصنيف في أسفل الصفحة كما هو مبين في الصورة (في الصورة رقم التصنيف هو 7).إستبعاد تصنيف معين من الصفحة الرئيسية ووردبريس

إستبعاد تصنيف معين من الصفحة الرئيسية بتغيير في ملف index.php.

إفتح ملف index.php ثم إبحث عن هذين السطرين:
1<!--?php if (have_posts()) : ?-->
2<!--?php while (have_posts()) : the_post(); ?-->
و قم بإستبدالهما بهذين السطرين:
1<!--?php query_posts($query_string '&cat=-7'); ?-->
2 <!--?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?-->
يجب عليك تغيير الرقم 7 برقم التصنيف الذي تريد إستبعاده, ووضع رمز السالب قبل الرقم إجباري.
يمكنك إستبعاد أكثر من تصنيف و ذلك بوضع فاصلة بين الأرقام كما يلي:
1<!--?php query_posts($query_string '&cat=-7,-8,-9,-10'); ?-->
2 <!--?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?-->
يجب عليك تغيير الأرقام 7,8,9,10 بأرقام التصنيفات التي تريد إستبعادها, ووضع رمز السالب قبل الأرقام إجباري.

إستبعاد تصنيف معين من الصفحة الرئيسية بواسطة وظيفة.

بالنسبة لي هذه الطرقة هي الأفضل بالمقارنة مع الطريقة الأولى, لأن الطريقة الأولى تجبرك على القام بهذه التغييرات بعد كل تحديث للقالب, لكن هذه الطريقة تبقى فعالة رغم تحديث القالب أو حتى تغييره. فقط عليك وضع هذا الكود في ملف functions.php أو فيإضافتك المخصصة.
1function exclude_category_home( $query ) {
2if $query->is_home ) {
3$query->set( "cat""-7" );
4}
5return $query;
6}
7add_filter( "pre_get_posts""exclude_category_home" );
يجب عليك تغيير الرقم 7 برقم التصنيف الذي تريد إستبعاده, ووضع رمز السالب قبل الرقم إجباري.
كذلك يمكنك إستبعاد أكثر من تصنيف و ذلك بوضع فاصلة بين الأرقام كما يلي:
1function exclude_category_home( $query ) {
2if $query->is_home ) {
3$query->set( "cat""-7,-8,-9,-10" );
4}
5return $query;
6}
7add_filter( "pre_get_posts""exclude_category_home" );
يجب عليك تغيير الأرقام 7,8,9,10 بأرقام التصنيفات التي تريد إستبعادها, ووضع رمز السالب قبل الأرقام إجباري.
إذا كنت تريد إستبعاد تصنيف من الأرشيف فقط عليك إستبدال السطر الثاني بهذا السطر:
1if $query->is_archive ) {
إذا كنت تريد إستبعاد تصنيف من الصفحة الرئيسية و الأرشيف معاً فقط عليك إستبدال السطر الثاني بهذا السطر:
1if $query->is_home || $query->is_archive) {
إذا أعجبك الموضوع قم بمشاركته الآن!!