Часто бывает, что при работе над постом автор забывает указать категорию или проставить теги. Можно, конечно, в настройках блога задать категорию, которая будет использоваться по умолчанию, если автор забудет ее проставить, но это лишь частичное решение. Полным же решением было бы заранее определить, какие категории по умолчанию будут отмечены в редакторе, и какие в пост буду поставлены теги.
Сделать это можно, если добавить специальную функцию в файл 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). Теперь все посты будут как минимум с дефолтной категорией и тегом – это позволит им участвовать во внутренней перелинковке.
![Создай свой первый сайт на WordPress](https://wpcourses.ru/static/first-site/first-site-760.png)