Как через хук перенести новые и опубликованные записи в черновик если в заголовке встречаются стоп слова (и если Заголовок пустой)?

Как через хук перенести новые и опубликованные записи в черновик если в заголовке встречаются стоп слова (и если Заголовок пустой)?

add_filter( 'wp_insert_post_data', function ( $data, $postarr ) {

    if ( 'post' !== $data['post_type'] ) {
        return $data;
    }

    // Если уже черновик/на проверке/в корзине — не трогаем
    if ( in_array( $data['post_status'], array( 'draft', 'pending', 'trash' ), true ) ) {
        return $data;
    }

    $title = trim( wp_strip_all_tags( $data['post_title'] ) );

    // 1. ПУСТОЙ ЗАГОЛОВОК — сразу в черновики
    if ( '' === $title ) {
        $data['post_status'] = 'draft';
        error_log( '[Fenv] Пост #' . ( $postarr['ID'] ?? 'new' ) . ' ушёл в черновики: пустой заголовок' );
        return $data;
    }

    // 2. СТОП-СЛОВА в заголовке
    $stop_words = array(
        'href',
        'class',
        'tgme',
        'widget',
        'message',
        'author',
        'name',
        'https',
        'http:',
    );

    $title_lower = mb_strtolower( $title );

    foreach ( $stop_words as $word ) {
        if ( false !== strpos( $title_lower, $word ) ) {
            $data['post_status'] = 'draft';
            error_log( '[Fenv] Пост #' . ( $postarr['ID'] ?? 'new' ) . ' ушёл в черновики. Стоп-слово: ' . $word );
            break;
        }
    }

    return $data;

}, 99, 2 );

guest
Другие сообщения форума
Закрыть меню