Ciao, intanto l'echo non serve e nemmeno il richiamo stesso. Avendo usate add_action('wp_head',....) viene richiamata comunque al caricamento di pagina.
echo '0'; molto probabilmente e' dovuto al fatto che non ritorna nulla e WP ti printa uno 0.
Per la funzione setessa volendo, non serve usare delete_post_meta() e poi add_post_meta).
Puoi direttamente usare update_post_meta() che di suo controlla se esiste e nel caso crea e /o aggiorna.