خطافات وفلاتر للمطورين

5 دقيقة قراءة

وسّع TTSWP أو خصّصه باستخدام خطافات WordPress القياسية. أضف هذه الخطافات إلى ملف functions.php في قالبك أو إلى إضافة مخصصة. كل خطاف مستقر وموثق.

خطافات الفلاتر

تعديل النص قبل التحويل إلى كلام

استخدم هذا لتنظيف المحتوى، أو حقن ترميز مخصص، أو حذف أقسام قبل توليد الصوت.

add_filter( 'mementor_tts_pre_synthesize_text', function( $text, $post_id ) {
    // تعديلاتك هنا
    $text = str_replace( 'WP', 'WordPress', $text );
    return $text;
}, 10, 2 );

تخطي الصوت لمنشورات محددة

أعد true لتخطي منشور من التوليد التلقائي.

add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
    // تخطي المنشورات في تصنيف "archive"
    if ( has_category( 'archive', $post_id ) ) {
        return true;
    }
    return $skip;
}, 10, 2 );

تغيير مفتاح التخزين المؤقت

تجاوز طريقة توليد TTSWP لمفتاح التخزين المؤقت للصوت. مفيد عندما تريد تخزينًا مؤقتًا مختلفًا لكل مستخدم أو لكل سياق مخصص.

add_filter( 'mementor_tts_audio_cache_key', function( $key, $text, $voice ) {
    return $key . '_' . get_current_user_id();
}, 10, 3 );

تخصيص الصوت الافتراضي

غيّر الصوت المستخدم لمنشورات محددة.

add_filter( 'mementor_tts_voice_for_post', function( $voice_id, $post_id ) {
    if ( get_post_type( $post_id ) === 'podcast' ) {
        return 'my-podcast-voice-id';
    }
    return $voice_id;
}, 10, 2 );

عرض ترميز العمود

تستخدمه تكاملات متعددة اللغات لعرض محتوى عمود مخصص في قائمة المنشورات.

add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
    // أعد true بعد عرض الترميز الخاص بك لتخطي الافتراضي
    return $rendered;
}, 10, 6 );

خطافات الأحداث

قبل توليد الصوت

add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
    // سجّل أو أرسل إشعارًا أو جهّز شيئًا
}, 10, 3 );

بعد توليد الصوت

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    // أرسل إشعارًا، أو حدّث حقلًا مخصصًا، أو أرسل إلى طابور خارجي
}, 10, 3 );

بعد حذف الصوت

add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
    // نظّف البيانات ذات الصلة
} );

عند ربط الموقع

add_action( 'mementor_tts_site_connected', function( $site_token ) {
    // أخطر فريقك، أو أرسل بريدًا ترحيبيًا، وما إلى ذلك
} );

ثوابت يمكنك تعريفها

عرّفها في wp-config.php:

تفعيل تسجيل التشخيص

define( 'MEMENTOR_TTS_DEBUG', true );

عند تفعيله، تُكتب السجلات التفصيلية في wp-content/debug.log.

تجاوز نقطة نهاية واجهة برمجة التطبيقات

لبيئات التجهيز أو الاختبار:

define( 'MEMENTOR_TTS_API_URL', 'https://staging.ttswp.com' );

وصفات تخصيص شائعة

إضافة منتقي صوت لكل منشور في شريط جانبي لمحرر الكتل

تضيف الإضافة لوحة TTS إلى المحرر بالفعل. يمكنك توسيعها:

add_filter( 'mementor_tts_editor_sidebar_fields', function( $fields ) {
    $fields[] = [
        'key' => 'speaking_speed',
        'label' => 'سرعة الكلام',
        'type' => 'number',
    ];
    return $fields;
} );

إرسال كل عملية توليد إلى Slack

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    wp_remote_post( 'https://hooks.slack.com/your-webhook', [
        'body' => json_encode( [
            'text' => sprintf( 'تم توليد %d حرفًا للمنشور %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
        ] ),
    ] );
}, 10, 3 );

ضمان الاستقرار

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