Сохранить настраиваемый мета-блок после сохранения отрывка

Я хочу, чтобы в этом настраиваемом поле использовался отрывок, если он оставлен пустым. Однако создается впечатление, что отрывок сохраняется после запуска этой функции (за ним всегда остается 1 щелчок «опубликовать»).

Есть идеи, как запустить эту функцию после сохранения отрывка? Или он работает в нужное время, а я просто что-то делаю не так?

function save_seo_meta($post_id) {
  $seo_desc = (isset($_POST['seo-desc']) && $_POST['seo-desc']) ? $_POST['seo-desc'] : get_the_excerpt();
  update_post_meta($post_id, '_seo-desc', $seo_desc);
}
add_action('save_post', 'save_seo_meta');

person Rice_Crisp    schedule 16.12.2016    source источник


Ответы (1)


Простое решение: просто используйте данные публикации

function save_seo_meta($post_id) {
  $seo_desc = (isset($_POST['seo-desc']) && $_POST['seo-desc']) ? $_POST['seo-desc'] : $_POST['excerpt'];
  update_post_meta($post_id, '_seo-desc', $seo_desc);
}
add_action('save_post', 'save_seo_meta');
person Rice_Crisp    schedule 16.12.2016