Я использую ловушку transition_post_status, чтобы добавить некоторые данные во время публикации публикации, но я могу получить доступ к любым переменным, но когда я пытаюсь установить канонический URL из add_filter, возвращается ошибка 500
// Add the hook action
add_action('transition_post_status', 'send_new_post', 10, 3);
// Listen for publishing of a new post
function send_new_post($new_status, $old_status, $post) {
if('publish' === $new_status && $post->post_type === 'post') {
print_r('this is done');
$post_meta = get_post_meta($post->ID, '', true);
$object_id = $post_meta['mydo_post_id'][0];
$canonical_url = 'https://mylofamily.com/article/'.$object_id;
add_filter( 'wpseo_canonical', 'add_canonical' );
function add_canonical($url){
return $canonical_url;
}
}
}
Выше мой код, который я использую, кто-нибудь может помочь?