Как через хук перенести новые и опубликованные записи в черновик если в заголовке встречаются стоп слова (и если Заголовок пустой)?
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 );
07.08.2026 /
Другие сообщения форума