05.05.2026

Хук добавляет метку к записи, если в заголовке есть ключевое слово

Как через хук добавлять метку к записи, если в заголовке есть ключевое слово

если в заголовке встречается слово Репортаж
то через хук добавлять метку " Репортажы" можно?

Этот хук выполняет задачу. Если встречаются репортаж, корреспондент, спецрепортаж - то записям присваивается метка "Репортажи".
А также для другой метки "Хроники".



// Хук добавляет метку к записи, если в заголовке есть ключевое слово
add_action( 'save_post', 'auto_add_tag_by_title_keyword', 20, 3 );

function auto_add_tag_by_title_keyword( $post_id, $post, $update ) {
    if ( wp_is_post_revision( $post_id ) || wp_is_post_autosave( $post_id ) ) return;
    if ( get_post_type( $post_id ) !== 'post' ) return;

    $current_post = get_post( $post_id );
    if ( ! $current_post ) return;
    
    $title = $current_post->post_title;

    // НАСТРОЙКИ: ключ => метка
    $keyword_map = array(
        'репортаж'      => 'Репортажи',
        'корреспондент' => 'Репортажи',
        'спецрепортаж'  => 'Репортажи',
        'хроник'        => 'Хроники',
    );

    $current_tags = wp_get_post_tags( $post_id, array( 'fields' => 'names' ) );

    foreach ( $keyword_map as $keyword => $tag_name ) {
        if ( function_exists( 'mb_stripos' ) && mb_stripos( $title, $keyword ) !== false ) {
            if ( ! in_array( $tag_name, $current_tags, true ) ) {
                wp_set_post_tags( $post_id, $tag_name, true );
            }
        }
    }
}
guest
Закрыть меню