Обновление поля функцией в wordpress

Я пытаюсь закодировать функцию, которая автоматически ставит галочку в поле флажка в серверной части, когда статус сообщения установлен на «опубликовать». Кстати, это в моем functions.php.

function featured_post(){
if( get_post_status() == 'publish' )
{
update_post_meta( $post->ID, '_featured', '1' );
}
}

Я установил функцию для запуска в шаблоне предварительного просмотра сообщения, вызвав Feature_post (), но, похоже, она не работает. Может кто-то указать мне верное направление?


person michael74    schedule 15.11.2020    source источник


Ответы (1)


Вам нужно использовать хуки действий, чтобы ваша функция работала. В вашем случае вам нужно использовать хук post_updated, как показано ниже:

function set_featured_post($post_ID, $post_after, $post_before){
  if( get_post_status($post_ID) == 'publish' ){
    update_post_meta( $post_ID, '_featured', '1' );
  }
}

add_action( 'post_updated', 'set_featured_post', 10, 3 );

Узнайте больше об этом хуке в WordPress Codex.

person Harshana Serasinghe    schedule 15.11.2020
comment
Рад, что смог помочь :) - person Harshana Serasinghe; 15.11.2020