Geliştiriciler için kancalar ve filtreler

5 min read

TTSWP'yi standart WordPress kancalarıyla genişletin veya özelleştirin. Bu kancaları temanızın functions.php dosyasına ya da özel bir eklentiye ekleyin. Her kanca kararlı ve belgelenmiştir.

Filtre kancaları

Sentez öncesinde metni değiştirme

Bunu içeriği temizlemek, özel biçimlendirme eklemek veya ses oluşturulmadan önce bölümleri kaldırmak için kullanın.

add_filter( 'mementor_tts_pre_synthesize_text', function( $text, $post_id ) {
    // Değişiklikleriniz
    $text = str_replace( 'WP', 'WordPress', $text );
    return $text;
}, 10, 2 );

Belirli gönderiler için sesi atlama

Bir gönderiyi otomatik oluşturmadan atlamak için true döndürün.

add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
    // "archive" kategorisindeki gönderileri atla
    if ( has_category( 'archive', $post_id ) ) {
        return true;
    }
    return $skip;
}, 10, 2 );

Önbellek anahtarını değiştirme

TTSWP'nin ses önbellek anahtarını nasıl oluşturduğunu geçersiz kılın. Kullanıcı bazında veya özel bağlam bazında farklı önbellekleme istediğiniz durumlarda kullanışlıdır.

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

Varsayılan sesi özelleştirme

Belirli gönderiler için hangi sesin kullanılacağını değiştirin.

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 );

Sütun biçimlendirmesini oluşturma

Gönderiler listesinde özel sütun içeriği oluşturmak için çok dilli entegrasyonlar tarafından kullanılır.

add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
    // Varsayılanı atlamak için kendi biçimlendirmenizi oluşturduktan sonra true döndürün
    return $rendered;
}, 10, 6 );

Eylem kancaları

Ses oluşturulmadan önce

add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
    // Kaydet, bildir veya bir şey hazırla
}, 10, 3 );

Ses oluşturulduktan sonra

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    // Bildir, özel bir alan güncelle, harici bir kuyruğa gönder
}, 10, 3 );

Ses silindikten sonra

add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
    // İlgili verileri temizle
} );

Site bağlantısında

add_action( 'mementor_tts_site_connected', function( $site_token ) {
    // Ekibinizi bilgilendirin, karşılama e-postası gönderin, vb.
} );

Tanımlayabileceğiniz sabitler

wp-config.php dosyasında tanımlayın:

Hata ayıklama günlüğünü etkinleştirme

define( 'MEMENTOR_TTS_DEBUG', true );

Ayarlandığında, ayrıntılı günlükler wp-content/debug.log dosyasına yazılır.

API uç noktasını geçersiz kılma

Hazırlık veya test ortamları için:

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

Yaygın özelleştirme tarifleri

Blok düzenleyici kenar çubuğuna gönderi bazlı ses seçici ekleme

Eklenti, düzenleyiciye zaten bir TTS paneli ekler. Bunu genişletebilirsiniz:

add_filter( 'mementor_tts_editor_sidebar_fields', function( $fields ) {
    $fields[] = [
        'key' => 'speaking_speed',
        'label' => 'Konuşma hızı',
        'type' => 'number',
    ];
    return $fields;
} );

Her oluşturmayı Slack'e gönderme

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 karakter oluşturuldu, gönderi %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
        ] ),
    ] );
}, 10, 3 );

Kararlılık taahhüdü

Bu sayfada listelenen kancalar, kararlı genel API'dir. En az bir ana sürüm bildirimi ve önceki ana sürüm için kullanımdan kaldırma uyarısı olmadan bunları kaldırmaz veya yeniden adlandırmayız.

İlgili sayfalar