Rozszerz lub dostosuj TTSWP za pomocą standardowych hooków WordPress. Dodaj je do pliku functions.php swojego motywu lub wtyczki niestandardowej. Każdy hook jest stabilny i udokumentowany.
Filtry
Modyfikacja tekstu przed syntezą
Użyj tego filtra, aby wyczyścić treść, wstrzyknąć niestandardowe znaczniki lub usunąć sekcje przed wygenerowaniem audio.
add_filter( 'mementor_tts_pre_synthesize_text', function( $text, $post_id ) {
// Twoje modyfikacje
$text = str_replace( 'WP', 'WordPress', $text );
return $text;
}, 10, 2 );
Pomijanie audio dla konkretnych postów
Zwróć true, aby pominąć post podczas automatycznego generowania.
add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
// Pomiń posty z kategorii "archiwum"
if ( has_category( 'archive', $post_id ) ) {
return true;
}
return $skip;
}, 10, 2 );
Zmiana klucza pamięci podręcznej
Nadpisz sposób, w jaki TTSWP generuje klucz pamięci podręcznej audio. Przydatne, gdy chcesz stosować różne buforowanie dla poszczególnych użytkowników lub niestandardowych kontekstów.
add_filter( 'mementor_tts_audio_cache_key', function( $key, $text, $voice ) {
return $key . '_' . get_current_user_id();
}, 10, 3 );
Dostosowanie domyślnego głosu
Zmień głos używany dla konkretnych postów.
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 );
Renderowanie zawartości kolumny
Używany przez integracje wielojęzyczne do renderowania niestandardowej zawartości kolumny na liście postów.
add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
// Zwróć true po wyrenderowaniu własnego znacznika, aby pominąć domyślny
return $rendered;
}, 10, 6 );
Akcje
Przed wygenerowaniem audio
add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
// Loguj, powiadamiaj lub przygotuj coś z wyprzedzeniem
}, 10, 3 );
Po wygenerowaniu audio
add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
// Powiadamiaj, aktualizuj pole niestandardowe, wysyłaj do zewnętrznej kolejki
}, 10, 3 );
Po usunięciu audio
add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
// Wyczyść powiązane dane
} );
Przy połączeniu witryny
add_action( 'mementor_tts_site_connected', function( $site_token ) {
// Powiadom swój zespół, wyślij e-mail powitalny itp.
} );
Stałe, które możesz zdefiniować
Zdefiniuj w pliku wp-config.php:
Włączanie logowania diagnostycznego
define( 'MEMENTOR_TTS_DEBUG', true );
Po ustawieniu szczegółowe logi są zapisywane do wp-content/debug.log.
Nadpisanie punktu końcowego API
Dla środowisk testowych lub stagingowych:
define( 'MEMENTOR_TTS_API_URL', 'https://staging.ttswp.com' );
Typowe przepisy na dostosowania
Dodanie selektora głosu dla poszczególnych postów do paska bocznego edytora blokowego
Wtyczka dodaje już panel TTS do edytora. Możesz go rozszerzyć:
add_filter( 'mementor_tts_editor_sidebar_fields', function( $fields ) {
$fields[] = [
'key' => 'speaking_speed',
'label' => 'Prędkość mówienia',
'type' => 'number',
];
return $fields;
} );
Wysyłanie każdego wygenerowanego audio na 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( 'Wygenerowano %d znaków dla posta %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
] ),
] );
}, 10, 3 );
Gwarancja stabilności
Hooki wymienione na tej stronie stanowią stabilne publiczne API. Nie usuwamy ich ani nie zmieniamy ich nazw bez co najmniej jednego powiadomienia w changelogu przed nową wersją główną i ostrzeżenia o deprecacji dla poprzedniej wersji głównej.