17 وظائف ووردبريس. php ملف المأجورون
نشرت: 2017-05-28من بين جميع ملفات WordPress الأساسية الخاصة بك ، القليل منها متعدد الاستخدامات مثل function.php . إذا كنت تعرف كيفية التفاعل معها ، سيمكنك هذا الملف من إضافة جميع أنواع الوظائف إلى موقعك ببضعة سطور من التعليمات البرمجية.
في هذه المقالة ، سنخبرك بكل ما تحتاج لمعرفته حول ملف وظائف WordPress وكيفية استخدامه لصالحك. سنناقش ما تقوم به، لماذا يجب عليك استخدامها، وعندما لا تكون ل. بالإضافة إلى ذلك ، سنقدم لك 17 عملية اختراق مفيدة للملفات لتوسيع وظائف موقعك دون الحاجة إلى تثبيت مكون إضافي.
يتيح الحصول على هذا العرض على الطريق!
مقدمة إلى ملف وظائف WordPress
يعد ملف functions.php أحد ملفات WordPress الأساسية. بمعنى آخر ، إنه يساعد في تشغيل النظام الأساسي بالكامل ، وهو وراء العديد من الميزات الموجودة على موقعك.

يمكنك أيضا استخدام ملف functions.php باعتبارها وسيلة مؤقتة لتنفيذ ميزات جديدة إلى موقع الويب الخاص بك، مثل إضافة الحاجيات جديدة إلى لوحة أو صورة مخصصة الأحجام للتثبيت. إنه البديل المثالي لمكونات WordPress الإضافية للحصول على ميزات بسيطة أو مؤقتة.
تجدر الإشارة أيضًا إلى وجود ملف function.php "الأصل" يؤثر على موقعك بالكامل ، ولكن كل سمة تأتي بإصدارها الفرعي (يشبه إلى حد كبير ملف style.css الخاص بك). يمكّنك هذا بشكل فعال من تنفيذ وظائف فقط لموضوعات محددة دون التأثير على موقعك على مستوى العالم.
17 قرصنة ملف لملف WordPress Functions.php
كما ذكرنا سابقًا ، يأتي كل موضوع مع ملف function.php الخاص به. إذا كنت ستقوم بإجراء تعديلات شاملة على تعديلاتك ، فإن أفضل إجراء هو إعداد سمة فرعية حتى لا تختفي تغييراتك أثناء التحديثات. ستحتاج أيضًا إلى الاحتفاظ بنسخة احتياطية من موقعك قبل إجراء أي تغييرات ، فقط في حالة حدوث أخطاء وتحتاج إلى التراجع عن تغييراتك.
عند الانتقال ، ستحتاج إلى الوصول إلى ملف jobs.php الخاص بك باستخدام عميل FTP (بروتوكول نقل الملفات) - مثل FileZilla - للانتقال إلى دليل wp-content / theme / . في الداخل ، ستجد مجلدًا لكل سمة من سماتك ، وكل منها يجب أن يكون لها ملفات وظائف .php داخل:

ما عليك سوى النقر بزر الماوس الأيمن فوقه واختيار الخيار المسمى " تحرير" ، والذي سيفتح محرر النصوص الافتراضي الخاص بك. مع هذا بعيدًا ، دعنا نبدأ العمل!
1. إضافة مستخدم إداري جديد إلى WordPress
هناك بعض المناسبات التي قد يتم فيها قفل حساب المسؤول الخاص بك ، ولا يمكنك تغيير كلمة المرور الخاصة بك أو الوصول إلى موقعك. باستخدام هذا القرص ، سيكون لديك طريقة إضافية لاستعادة الوصول عبر FTP.
كما هو الحال مع كل هذه الاختراقات والمقتطفات ، ما عليك سوى نسخ الكود التالي ، ولصقه في نهاية ملف function.php الخاص بالسمة ، وحفظ التغييرات.
function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = '[email protected]';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');ستحتاج إلى استبدال القيم التي تشير إلى اسم المستخدم وكلمة المرور والبريد الإلكتروني بقيمك الخاصة ، وستكون جاهزًا تمامًا!
2. اعرض العدد الإجمالي للمستخدمين المسجلين
إذا كنت ترغب يومًا في التباهي بالعالم حول عدد المستخدمين الذين يمتلكهم موقعك ، فإن هذا التعديل يمكّنك من إضافة عدد بسيط إلى الواجهة الأمامية. هذا الاختراق له أيضًا استخدامات تتجاوز مجرد المفاخرة. على سبيل المثال ، قد يكون الأشخاص أكثر استعدادًا للثقة في موقعك إذا كانوا يعرفون أنه يحتوي على قاعدة مستخدمين قوية. ها هو المقتطف:
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
add_shortcode('user_count', 'wpb_user_count');هذا متقدم بعض الشيء ، حيث قمنا بتسجيل الرمز المختصر المخصص [user_count] لعرض إجمالي المستخدمين المسجلين على موقعك. في حين أن هذا يمكن أن يكون موضوعًا معقدًا ، إلا أن تطبيقنا بسيط!
3. إزالة "لوحة الترحيب" الخاصة بلوحة التحكم
لوحة الترحيب الخاصة بك هي قسم من لوحة المعلومات التي تظهر بمجرد تسجيل الدخول إلى WordPress ، وعادةً ما تحتوي على بعض النصائح وقوائم المراجعة للبدء. باستخدام مقتطف الشفرة هذا ، ستتمكن من إزالته نهائيًا:
remove_action('welcome_panel', 'wp_welcome_panel');بالتأكيد ، لوحة الترحيب ليست غازية على الإطلاق ، ولكن يمكن أن تصبح قديمة بعض الشيء إذا كنت تستخدم النظام الأساسي لفترة من الوقت ولم تعد بحاجة إلى النصائح بعد الآن. بالإضافة إلى ذلك ، نظرًا لأن كل ما يتطلبه الأمر هو سطر من التعليمات البرمجية ، فلا يوجد أي جانب سلبي لهذا الاختراق.
4. إخفاء رقم إصدار WordPress الخاص بك
كما تعلم على الأرجح ، بناءً على الموضوع الذي تستخدمه ، يميل WordPress إلى عرض رقم إصداره في تذييل موقعك. إنها تفاصيل صغيرة يمكنك إزالتها بسهولة باستخدام هذا الرمز:
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');إذا كنت تشغل إصدارًا قديمًا من WordPress (وهو بالطبع لا يجب أن تكون كذلك) ، يمكن أن يكون هذا التعديل مفيدًا لجعلك هدفًا أقل إغراءً.
5. تعديل تذييل لوحة القيادة
ربما تتضمن لوحة معلومات WordPress الخاصة بك جزءًا من النص في التذييل ، وغالبًا ما تشير إلى رصيد من نوع ما (عادةً WordPress نفسه). انها شيء قد أصبحت أعمى، ولكن هذا الإختراق لا تمنحك فرصة جيدة لتخصيص أو العلامة التجارية موقعك مع الإختراق بسيطة. دعنا نتحقق من الكود المقابل:
function remove_footer_admin () {
echo 'Hello world!';
}
add_filter('admin_footer_text', 'remove_footer_admin');لهذا الاختراق ، يجب أن تحل محل Hello world! نصًا خاصًا بك ، بما في ذلك أي روابط تريد تضمينها.
6. إضافة عنصر واجهة مستخدم نص بسيط إلى لوحة المعلومات الخاصة بك
إذا قررت إفراغ بعض المساحة في لوحة المعلومات الخاصة بك عن طريق إزالة عنصر واجهة المستخدم الترحيبي ، فقد ترغب في استبداله بواحد خاص بك. باستخدام هذا الرمز ، ستتمكن من إعداد أداة نص بسيطة:
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_widget', 'More Information', 'custom_dashboard_information');
}
function custom_dashboard_information() {
echo 'If you need help making changes to your site, you can always contact me via email at...';
}سيضيف هذا المقتطف عنصر واجهة مستخدم يسمى مزيد من المعلومات إلى لوحة المعلومات الخاصة بك ، بما في ذلك النص داخل وظيفة custom_dashboard_information . في هذا المثال ، اخترنا إنشاء أداة اتصال من نوع ما ، والتي يمكنك استخدامها لمواقع عملاء التسمية الأولية وتذكيرهم بالبقاء على اتصال إذا لزم الأمر.
7. إضافة أحجام الصور المخصصة إلى التركيبات الخاصة بك
يمكّنك WordPress من تغيير حجم صورك إلى أبعاد محددة بعد تحميلها ، ويوفر بعض الإعدادات المسبقة افتراضيًا. باستخدام هذا الرمز ، ستتمكن من إضافة إعدادات مسبقة جديدة لتجنب الاضطرار إلى تعيين أبعاد مخصصة:
add_image_size( 'sidebar-thumbnail', 120, 120 );
ضع في اعتبارك أنه يمكنك إضافة العديد من الأحجام الجديدة كما تريد ، ويمكن أن تكون مفيدة بشكل خاص إذا كان هناك دقة معينة تستخدمها في جميع أنحاء موقعك.
8. أضف الصور المميزة إلى موجز RSS الخاص بك
لا يعرف الكثير من الأشخاص هذا ، لكن WordPress ينشئ موجز ويب لـ RSS لمواقعك تلقائيًا. إذا كنت تنوي استخدام صورتك ، فستحتاج إلى إعداد صورة مميزة لمنشوراتك ، والتي يمكنك القيام بها باستخدام هذا الرمز:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '
' . get_the_post_thumbnail($post->ID) .
'
' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');يمكن أن تقطع الصور المميزة شوطًا طويلاً نحو جعل موجز RSS الخاص بك يبدو أكثر جاذبية ، وهو أمر بالغ الأهمية لأي نوع من أنواع المحتوى الذي يعتمد على النقرات.
9. استبعاد الفئات من موجز RSS الخاص بك
أحد أفضل الأشياء حول ميزة موجز RSS في WordPress هو مدى قابليته للتخصيص. باستخدام هذا الرمز ، ستتمكن من إخفاء فئات معينة من خلاصتك ، بحيث يمكنك اختيار المحتوى الذي تتم إضافته واختياره:
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');ضع في اعتبارك أن WordPress يحدد الفئات وفقًا لأرقام المعرفات (أي -2 و -3 ) في الكود أعلاه. لذلك ستحتاج إلى تحديد معرفات الفئات التي تريد إزالتها قبل تنفيذ هذا الاختراق.
10. تعطيل موجز RSS الخاص بك
على الرغم من أنها ميزة رائعة في WordPress ، إذا لم تكن مهتمًا باستخدام RSS على الإطلاق ، فيمكنك تعطيلها تمامًا باستخدام مقتطف الشفرة هذا:
function fb_disable_feed() {
wp_die( __('Sorry, we don't use RSS!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);ستلاحظ أن الرمز يتضمن رسالة صغيرة للمستخدمين الذين يحاولون الوصول إلى خلاصتك بعد تعطيلها. لا يوجد جانب سلبي لإبقائه نشطًا ، ولكن إذا كنت متأكدًا من أنك لن تستخدمه ، فهذا يمكنك من إيقاف تشغيله تمامًا وربما حفظ دورة أو اثنتين.
11. إخفاء تفاصيل خطأ تسجيل الدخول إلى WordPress
يمكن لأخطاء تسجيل الدخول شديدة التفصيل أن تعطي غير المرغوب فيهم المعلومات التي يحتاجونها للمساعدة في الوصول إلى موقعك. باستخدام هذا الرمز ، لن يحدد WordPress المكان الذي ارتكبت فيه الخطأ عند محاولة تسجيل الدخول:
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );باستخدام هذا الاختراق ، فإنه يجعل من الصعب على المهاجمين محاولة الوصول إلى موقعك ، بينما يجب ألا يواجه المستخدمون الحقيقيون أي مشكلة في معرفة المكان الذي ارتكبوا فيه الخطأ. الفوز في كل مكان!
12. إجبار المستخدمين على تسجيل الدخول بأسماء المستخدمين الخاصة بهم
يميل الكثير من الأشخاص إلى الاشتراك في كل خدمة باستخدام نفس البريد الإلكتروني ، مما يعني أنه يمكن للمهاجمين محاولة الوصول فقط من خلال معرفة عناوين بريدهم الإلكتروني. باستخدام هذا الرمز ، ستجبر المستخدمين على تسجيل الدخول باستخدام أسماء المستخدمين حصريًا:
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
لكي نكون منصفين ، تميل أسماء المستخدمين أيضًا إلى إعادة استخدامها كثيرًا ، ولكن لا يزال بإمكان هذا التعديل الصغير المساعدة في تحسين أمنك وتقليل الهجمات.
13. تغيير طول مقتطفات ما بعد
تعرض فهارس مدونة WordPress عادةً مقتطفات موجزة من مشاركاتك لإعطاء القراء فكرة عما يريدون. إذا أردت تغيير الطول الافتراضي لهذه المقتطفات ، فإليك فرصة للقيام بذلك.
functionnew_excerpt_length($length) {
return 75;
}
add_filter('excerpt_length', 'new_excerpt_length');الطول الافتراضي هو 55 ولكن في الكود أعلاه ، قمنا برفعه إلى 75 لمنحنا مساحة أكبر للمناورة.
14. قم بتمكين WordPress لتحميل أي نوع ملف تريده
بشكل افتراضي ، يمكّنك WordPress فقط من تحميل مجموعة محدودة جدًا من أنواع الملفات ، بما في ذلك تنسيقات الوسائط الشائعة مثل .png و . jpg. باستخدام هذا الرمز ، ستتمكن من فرض التثبيت الخاص بك للسماح بمزيد من الأنواع:
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);خذ .svg ، على سبيل المثال ، وهو نوع ملف ناقشناه في الماضي. باستخدام هذا المقتطف ، ستتمكن من إضافة دعم له دون الحاجة إلى مكون إضافي.
15. تعطيل الربط التلقائي للصور
من خارج الصندوق ، سيضيف WordPress روابط إلى كل صورة تقوم بتضمينها في المحتوى الخاص بك تشير إلى نسختها الكاملة. باستخدام هذا الرمز ، ستقوم بتعطيل هذه الوظيفة:
function wpb_imagelink_setup() {
$image_set = get_option( 'image_default_link_type' );
if ($image_set !== 'none') {
update_option('image_default_link_type', 'none');
}
}
add_action('admin_init', 'wpb_imagelink_setup', 10);ضع في اعتبارك أنه لا يزال بإمكانك الوصول إلى هذه الميزة عن طريق تحرير كل صورة فردية - كل هذا يمنعها من العمل تلقائيًا.
16. إضافة منطقة جاهزة القطعة
يتضمن WordPress بالفعل عدة مناطق جاهزة لعناصر واجهة المستخدم لتستخدمها ، ولكن يمكنك دائمًا إضافة مناطق جديدة باستخدام بعض الوظائف .php magic. كما هو الحال مع الاختراق السابق للرموز المختصرة ، فقد بدأت في الدخول إلى عالم المطورين هنا. ومع ذلك ، يعد هذا تطبيقًا بسيطًا يمكن أن يساعدك كثيرًا:
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget', 'text_domain' ),
'description' => __( 'A custom widget, 'text_domain' ),
'before_title' => '
<h3 class="widget-title">',
'after_title' => '</h3>
',
'before_widget' => '
<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>
',
);
register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );ضع في اعتبارك أن هذا الرمز يقوم فقط "بتسجيل" منطقة عنصر واجهة المستخدم الجديدة. ستظل بحاجة إلى الاتصال به لأقسام سمة معينة ، مثل تذييل الصفحة ، عن طريق تحرير الملفات الخاصة بكل منها.
17. قم بتعطيل ميزة البحث في WordPress
يحتاج كل موقع تقريبًا إلى ميزة بحث لمساعدة المستخدمين في العثور على طريقهم. ومع ذلك ، إذا كنت ستنشئ موقعًا من صفحة واحدة ، فقد لا تحتاج إليه. إليك الكود الذي سيمكنك من إيقاف التشغيل:
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );قبل تعطيل هذه الميزة ، يجب أن تكون متأكدًا بنسبة 100٪ أنك لن تحتاج إليها لأنها يمكن أن تؤثر بشكل كبير على قابلية استخدام موقعك. بالطبع ، يمكنك دائمًا إزالة الكود لإعادة البحث على موقعك ، ولكن إذا لم تكن متأكدًا ، فانتقل إلى جانب الحذر ولا تقم بإيقاف تشغيله!
استنتاج
يعد ملف function.php أحد أقوى الأصول في صندوق أدوات WordPress الخاص بك. فهو لا يمكّنك فقط من إضافة جميع أنواع الميزات ببضعة أسطر من التعليمات البرمجية ، بل إنه مهم أيضًا أن يعمل موقعك (انظر ماذا فعلنا هناك؟).
إذا كنت من مستخدمي Divi ، فيمكن أن يساعدك ملف function.php في إضافة العديد من الميزات التكميلية إلى موقعك دون الحاجة إلى إعداد مكونات إضافية ، وهو أمر يُعد مكسبًا دائمًا.
هل لديك أي أسئلة حول قرصنة ملفات وظائف WordPress هذه؟ إذا كان الأمر كذلك ، اسأل في قسم التعليقات أدناه!
الصورة المصغرة للمادة MchlSkhrv / shutterstock.com
