Как добавить поле для ввода ключевых слов в WordPress и отображать их на страницах и статьях

WordPress — это мощная платформа для создания сайтов, которая предоставляет широкие возможности для настройки и управления контентом. В этом руководстве мы покажем, как добавить поле для ввода ключевых слов на страницах и статьях, и как эти ключевые слова выводить в коде страниц.

Шаг 1: Установка и настройка плагина ACF

Начнем с установки плагина Advanced Custom Fields (ACF), который позволит нам создать пользовательское поле для ввода ключевых слов.

  1. В административной панели WordPress перейдите в раздел «Плагины» > «Добавить новый».
  2. В поле поиска введите «Advanced Custom Fields» и нажмите «Enter».
  3. Найдите плагин «Advanced Custom Fields» в результатах поиска и нажмите «Установить сейчас».
  4. После установки активируйте плагин, нажав кнопку «Активировать».

Теперь мы готовы создать пользовательское поле.

Шаг 2: Создание пользовательского поля

  1. В административной панели перейдите в раздел «Custom Fields» > «Field Groups».
  2. Нажмите «Добавить новую группу полей».
  3. Введите название группы, например, «SEO Fields».
  4. Нажмите «Добавить поле». Введите название поля «Meta Keywords», указатель поля «meta_keywords» и выберите тип поля «Text».
  5. В секции «Location» установите правила, при которых это поле будет появляться. Например, выберите «Post Type» «is equal to» «Post» для отображения поля на страницах статей.
  6. Сохраните группу полей, нажав «Publish».

Теперь при редактировании или создании статей вы увидите поле «Meta Keywords», где можно ввести ключевые слова.

Шаг 3: Вывод ключевых слов на страницах и статьях

Теперь, когда у нас есть поле для ключевых слов, мы можем настроить их вывод на наших страницах. Для этого нам понадобится добавить некоторый код в файл functions.php вашей темы.

Помните, что изменения в коде должны делать только опытные пользователи, и всегда рекомендуется создавать резервную копию файла перед внесением изменений.

// Определяем функцию add_meta_keywords
function add_meta_keywords() {
	// Используем глобальную переменную $post, чтобы иметь доступ к текущей записи
	global $post;

	// Проверяем, является ли текущая страница отдельной записью
	if ( is_singular() ) {
		// Получаем значение мета-тега "keywords" для текущей записи
		$keywords = get_post_meta( $post->ID, 'meta_keywords', true );

		// Проверяем, есть ли значение у ключевых слов
		if ( ! empty( $keywords ) ) {
			// Выводим мета-тег с ключевыми словами, используя функцию esc_attr для очистки значения
			echo '<meta name="keywords" content="' . esc_attr( $keywords ) . '">';
		}
	} elseif ( is_category() ) {
		// Получаем ID текущей категории
		$category_id = get_queried_object_id();

		// Получаем значение мета-тега "keywords" для текущей категории
		$keywords = get_term_meta( $category_id, 'meta_keywords', true );

		// Проверяем, есть ли значение у ключевых слов
		if ( ! empty( $keywords ) ) {
			// Выводим мета-тег с ключевыми словами, используя функцию esc_attr для очистки значения
			echo '<meta name="keywords" content="' . esc_attr( $keywords ) . '">';
		}
	}
}

// Добавляем действие 'wp_head', которое вызовет функцию add_meta_keywords
// во время загрузки заголовка каждой страницы, с приоритетом 1 (выполняется очень рано)
add_action( 'wp_head', 'add_meta_keywords', 1 );

Этот код проверяет, является ли текущая страница записью или категорией, и если да, то выводит соответствующие ключевые слова в мета-теге в заголовке страницы.

Поздравляем! Теперь у вас настроено поле для ввода ключевых слов в WordPress, и эти ключевые слова автоматически выводятся на ваших страницах и статьях.

Анастасия Кузнецова

Привет! Меня зовут Настя, и я специалист по вёрстке из солнечного Краснодара. У меня уже есть небольшой опыт работы — занимаюсь HTML, CSS и немножко JavaScript. Сейчас работаю в классной креативной студии, где создаём сайты и приложения. А в свободное время пишу статьи на code4web. Я отвечаю за такие категории как CSS и HTML.

В свободное время я не могу сидеть на месте. Люблю йогу — помогает расслабиться после трудового дня. Ещё увлекаюсь рисованием, это как медитация для меня. Музыка? Обожаю инди-рок и электронную музыку, поэтому не пропускаю ни одного крутого концерта в городе.

Code4Web