Un utente ha chiesto
Categoria: Sviluppo con WordPress di WordPress
Domanda: L’hook di azione “transition_post_status” non funziona in Gutenberg e res

Ciao,

Voglio inviare il mio messaggio a Telegram quando viene creato. lo so transition_post_status non funziona per Gutenberg e ho letto la discussione qui e ispezionato questi codici da n7studio, ma non so perché il mio codice non funziona. Rest_after_insert_post non viene attivato quando i post vengono pubblicati dall’API REST e da Gutenberg? Lo sto usando correttamente?

add_action('rest_after_insert_post', 'send_posts_to_Telegram', 10, 3);

function send_posts_to_Telegram($post, $request, $creating = true){
//Send post to Telegram
}

La pagina per cui ho bisogno di aiuto: [log in to see the link]

  • Moderatore

    (@bcworkz)

    Ricordo questa discussione. Come ho risposto, entrambe le azioni vengono attivate sul mio sito. Forse il problema è con la parte di invio a Telegram e non con l’azione che non si attiva. Puoi verificare che l’azione venga attivata utilizzando error_log() nel tuo promemoria per registrare un messaggio. Crea un nuovo messaggio, quindi controlla il registro degli errori per vedere se il messaggio è stato salvato.

    (@kghugo2000)

    Grazie per l’aiuto. Usando error_log () ho scoperto che la funzione era stata attivata, ma funzioni come get_the_ID () restituiscono null qui, quindi non ottengo quello che voglio. Come posso utilizzare queste funzioni o passare valori come post id o meta a questa funzione?

    Grazie mille per il tuo aiuto.

    Moderatore

    (@bcworkz)

    Sì, get_the_ID() non funziona perché il post $ globale non è definito. Nel caso di “rest_after_insert_post”, l’oggetto WP_Post appena inserito viene passato al tuo callback come primo argomento, quindi l’ID nel tuo codice sarebbe $post->ID. Una volta che hai l’ID puoi ottenere il meta nel solito modo con get_post_meta(). Tuttavia, se stai cercando un valore appena inserito, potrebbe non essere ancora disponibile dal database (condizione di gara). Il nuovo valore meta deve essere in $request PER QUANTO NE SO.

    (@kghugo2000)

    Eccellente! Alla fine ho usato $ post-> ID e l’ho scoperto transition_post_status anche sparato per il post di Gutenberg.

    Lezione appresa: usa error_log()

    Grazie!

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *