Как автоматически присваивать посту при сохранении категорию и теги

Как автоматически присваивать посту при сохранении категорию и теги | n-wp.ru Настройки

Часто бывает, что при работе над постом автор забывает указать категорию или проставить теги. Можно, конечно, в настройках блога задать категорию, которая будет использоваться по умолчанию, если автор забудет ее проставить, но это лишь частичное решение. Полным же решением было бы заранее определить, какие категории по умолчанию будут отмечены в редакторе, и какие в пост буду поставлены теги.

Как автоматически присваивать посту при сохранении категорию и теги

Сделать это можно, если добавить специальную функцию в файл functions.php вашей темы. Откройте этот файл, и добаввьте в него следующий код:

add_action( 'wp_insert_post', 'update_post_terms' );
function update_post_terms( $post_id ) {
    if ( $parent = wp_is_post_revision( $post_id ) )
        $post_id = $parent;
    $post = get_post( $post_id );
    if ( $post->post_type != 'post' )
        return;
    // add a tag
    wp_set_post_terms( $post_id, 'new tag', 'post_tag', true );
    // add a category
    $categories = wp_get_post_categories( $post_id );
    $newcat    = get_term_by( 'name', 'Some Category', 'category' );
    array_push( $categories, $newcat->term_id );
    wp_set_post_categories( $post_id, $categories );
}

Этот код делает следующее — при сохранении поста проставляются заранее определенные категория (Some Category) и тег (new tag). Теперь все посты будут как минимум с дефолтной категорией и тегом — это позволит им участвовать во внутренней перелинковке.

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий