اذهب إلى المحتوى
  • 0

شرح add_action, do_action في وورد بريس

Hanan Fahad2

السؤال

Recommended Posts

  • 0

الدالة add_action تستخدم لإضافة إجراء معين لحدث ما ، و الصيغة العامة لهذه الدالة هي 

add_action( $hook, $function_to_add, $priority, $accepted_args );

حيث:

  • hook$ : هو الحدث الذي تريد أن تربط به الدالة الخاصة بك، أي الحدث التي تريد أن تنفذ دالتك عند حدوثه.
  • function_to_add$ : اسم الدالة (الإجراء) التي تريد إضافتها للحدث أعلاه. أي التي ستنفذ عند حصول الحدث hook$ .
  • priority$ : هذه هي أولوية تنفيذ الدالة عند هذا الحدث، بمعنى أنه إذا كان هنالك أكثر من دالة تم إضافتها باستخدام الدالة add_action إلى نفس الحدث فإن قيمة هذا المعامل ستحدد أي الدوال ستنفذ أولا وأيها ثانيا وهكذا. قيمة هذا المعامل يجب أن تكون من النوع int ، وقيمته الافتراضية 10 والحدث ذو القيمة الأقل سينفذ أولا ، بمعنى أن الدالة التي لديها قيمة 5 ستنفذ قبل الدالة التي لديها 20 وهكذا.
  • accepted_args$ : عدد المعاملات التي تقبلها الدالة المطلوب تنفيذها function_to_add$.

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

function wpdocs_email_friends( $post_id ) {
    $friends = 'bob@example.org, susie@example.org';
    wp_mail( $friends, "Hsoub", 'هنا النص' );
 
    return $post_id;
}
add_action( 'publish_post', 'wpdocs_email_friends' );

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

 do_action( $tag, $arg );

حيث:

  • tag$ : اسم الإجراء الذي تود تنفيذه. وكما أسلفنا فإن هذه الدالة عند مناداتها ستنفذ كل الدوال التي تم إضافتها لهذا الحدث tag$.
  • arg$ : المعامل الذي يتم تمريره للدوال المرتبطة بالحدث tag$.

الدالة add_filter ، تستخدم دالة add_filter لإضافة مرشح جديد لأحد المتغيرات وتأخذ الصيغة العامة:

add_filter( $tag, $function_to_add, $priority, $accepted_args );

ومن الأمثلة على add_filter هو التحكم بطول النص المقتطف للتدوينة مثل 

if( ! function_exists( 'prefix_custom_excerpt_length' ) )
{
    function prefix_custom_excerpt_length( $length )
    {
        return 40;
    }
}
add_filter( 'excerpt_length', 'prefix_custom_excerpt_length', 999 );

يمكنك مراجعة الدرس التالي على أكاديمية حسوب

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...