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

Как автоматически присваивать посту при сохранении категорию и теги | 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 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*