#php #wordpress #hook #custom-post-type
#php #wordpress #перехват #пользовательский тип записи
Вопрос:
У меня есть пользовательский пост, который пользователи могут использовать для регистрации своих резюме на веб-сайте после входа в систему. Я пробую этот код для установки статуса сообщения после отправки пользователями в «ожидание» и не отображается, пока администратор меняет статус на «опубликовать». Это работает, но когда администратор хочет изменить статус, после публикации он сбрасывается на «ожидающий». Как я могу это исправить?
add_filter( 'wp_insert_post_data', 'prevent_post_change', 20, 2 );
function prevent_post_change( $data, $postarr ) {
if ( ! isset($postarr['ID']) || ! $postarr['ID'] ) return $data;
if ( $postarr['post_type'] !== 'noo_resume' )
$old = get_post($postarr['ID']);
if (
$old->post_status !== 'pending' amp;amp;
$old->post_status !== 'trash' amp;amp;
$data['post_status'] === 'publish'
) {
$data['post_status'] = 'pending';
}
return $data;
}
Комментарии:
1. вы пробовали? ??
2. да, это не работает