Вопрос или проблема
Я разрабатываю тему веб-сайта на основе услуг с несколькими длинными страницами контента. Поэтому на первоначальном этапе разработки я использовал жестко закодированный контент. Но теперь я хочу, чтобы весь контент управлялся только из панели администратора WordPress. У меня нет ACF Pro. Даже если я использую ACF, сколько полей нужно добавить, чтобы управлять всем контентом страницы? У меня около 35 блоков контента, которые нужно обновить (10 изображений, 10 альтернативных текстов для изображений, 15 контента).
Ответ или решение
Разработка веб-сайта на платформе WordPress с управлением содержимым через панель администратора — отличный подход для обеспечения гибкости и простоты обновления информации. Ваша цель — создать тему для сервиса с несколькими длинными страницами контента, где вы хотите минимизировать ручное программирование и использовать стандартные функции управления контентом в WordPress. Ниже приведены рекомендации по организации вашего контента без использования ACF Pro и эффективной настройки системы управления.
Структура контента
-
Кастомные типы постов:
Создайте кастомный тип постов для вашего сервиса. Это даст вам возможность сегментировать контент и управлять им отдельно от стандартных типов постов (посты и страницы).function create_custom_post_type() { register_post_type('service', array( 'labels' => array( 'name' => __('Сервисы'), 'singular_name' => __('Сервис') ), 'public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', 'thumbnail', 'custom-fields'), ) ); } add_action('init', 'create_custom_post_type');
-
Пользовательские поля с помощью метаполей:
Для добавления изображений, альтернативного текста и контента вы можете использовать стандартные метаполя. Это позволит вам управлять содержимым прямо из админ-панели.- Для каждого изображения создайте метаполя (например,
service_image_1
,service_alt_1
, и т.д.). - Аналогично создайте метаполя для текстового контента, используя названия вроде
service_content_1
,service_content_2
, и т.д.
- Для каждого изображения создайте метаполя (например,
-
Типы контента:
Рассмотрите страницу как многоразовый элемент с полноценным редактором. Это даст вам возможность добавлять текст прямо в редактор WordPress. -
Использование блоков Gutenberg:
Так как WordPress поддерживает редактор блоков (Gutenberg), вы можете использовать его для создания кастомных блоков для управления вашим контентом. Это будет удобно для пользователей, которые не знакомы с программированием.
Пример реализации метаполей
Добавьте метаполя к вашему кастомному посту для загрузки изображений и ввода текста. Вот пример функции для добавления и сохранения метаполей:
function add_service_meta_boxes() {
add_meta_box('service_details', 'Детали сервиса', 'render_service_meta_box', 'service', 'normal', 'high');
}
function render_service_meta_box($post) {
$image = get_post_meta($post->ID, 'service_image_1', true);
$alt = get_post_meta($post->ID, 'service_alt_1', true);
$content = get_post_meta($post->ID, 'service_content_1', true);
?>
<label for="service_image_1">Изображение:</label>
<input type="text" id="service_image_1" name="service_image_1" value="<?php echo esc_attr($image); ?>" />
<br>
<label for="service_alt_1">Alt текст:</label>
<input type="text" id="service_alt_1" name="service_alt_1" value="<?php echo esc_attr($alt); ?>" />
<br>
<label for="service_content_1">Содержимое:</label>
<textarea id="service_content_1" name="service_content_1"><?php echo esc_textarea($content); ?></textarea>
<?php
}
function save_service_meta_box($post_id) {
if (array_key_exists('service_image_1', $_POST)) {
update_post_meta($post_id, 'service_image_1', $_POST['service_image_1']);
}
if (array_key_exists('service_alt_1', $_POST)) {
update_post_meta($post_id, 'service_alt_1', $_POST['service_alt_1']);
}
if (array_key_exists('service_content_1', $_POST)) {
update_post_meta($post_id, 'service_content_1', $_POST['service_content_1']);
}
}
add_action('add_meta_boxes', 'add_service_meta_boxes');
add_action('save_post', 'save_service_meta_box');
SEO-оптимизация
-
Оптимизированные заголовки:
Убедитесь, что заголовки ваших страниц и записей содержат ключевые слова, по которым вы хотите ранжироваться. -
Альтернативный текст для изображений:
Поля alt для изображений помогут улучшить SEO и обеспечат доступность контента. -
Уникальный контент:
Создайте уникальный и ценный контент, который отвечает на вопросы пользователей и решает их проблемы.
Используя эти рекомендации, вы сможете легко управлять содержанием вашего сайта через админ-панель WordPress, независимо от наличия плагинов, таких как ACF Pro. Оптимальная настройка и структура вашего проекта будут способствовать его долгосрочному успеху и удобству в использовании.