WordPress предоставляет инструменты, которые помогают нам включать теги на страницах и в сообщениях любого типа контента. Под поверхностью WordPress обрабатывает страницы, записи и другой контент практически одинаково; страница — это просто пользовательский тип сообщения. Поэтому, чтобы включить теги , нужно просто сказать: «Привет, WordPress, я хотел бы использовать теги на своих страницах и не забудь включить их в облако тегов!»
Давайте преобразуем это в код, который вы можете вставить в файл functions.php вашей темы (wp-content/themes/ВАША_ТЕМА/functions.php):
// Добавить поддержку тегов на страницы
function tags_support_all() {
register_taxonomy_for_object_type('post_tag', 'page');
}
// Убеждаемся, что все теги включены в запросы
function tags_support_query($wp_query) {
if ($wp_query->get('tag')) $wp_query->set('post_type', 'any');
}
// tag крючек
add_action('init', 'tags_support_all');
add_action('pre_get_posts', 'tags_support_query');Просто. Если у вас есть дополнительные пользовательские типы записей, для которых требуются теги, вам нужно добавить register_taxonomy_for_object_type вызовы для каждого — второй аргумент — это имя типа.
Тем, кто работает на нескольких сайтах WordPress или в сети, может быть проще преобразовать код в плагин, чтобы его можно было соответственно включать и отключать. По сути, это вопрос добавления приведенного выше кода в файл плагинов с соответствующим названием, т.е. создаем файл здесь wp-content/plugins/enable-tags.php, и размещаем в нем код предоставленный выше:
<?php
/*
Plugin Name: Enable Tags in WordPress Pages
Plugin URI: http://www.sitepoint.com/
Description: Enables tags in all content
Version: 1.0
Author: Craig Buckler
Author URI: http://twitter.com/craigbuckler
License: Free to use and adapt
*/
// Размещаем код здесь ……Я надеюсь, что вы найдете этот пост полезным. Пожалуйста, используйте и адаптируйте код так, как вам нравится в ваших собственных проектах — ссылка на эту статью приветствуется.
Статья была переведена для блога TechBlog.SDStudio.top
Источник: sitepoint.com