Для реализации функционала отображения подкатегорий определённой категории в вашем каталоге, можно использовать стандартные функции доступа к категорий в CMS (например, WordPress или другую платформу), или если у вас собственная система, можно написать соответствующий код.
### Пример для WordPress
Если вы используете WordPress, вы можете использовать функцию `get_terms()`, чтобы получить подкатегории для определённой категории. Вот пример кода:
```php
function display_subcategories($parent_category_id) {
$args = array(
'taxonomy' => 'category',
'child_of' => $parent_category_id,
'hide_empty' => false, // если хотите отображать пустые подкатегории, поменяйте на true
);
$subcategories = get_terms($args);
if (!empty($subcategories)) {
echo '<ul>';
foreach ($subcategories as $subcategory) {
echo '<li>';
echo '<a href="' . get_term_link($subcategory) . '">' . esc_html($subcategory->name) . '</a>';
echo '</li>';
}
echo '</ul>';
} else {
echo 'Нет подкатегорий.';
}
}
// Вызов функции с ID родительской категории
display_subcategories(10); // замените 10 на ID вашей категории "Ежедневники"
```
### Пример для кастомной системы
Если у вас собственная система, то подход будет зависеть от структуры вашей базы данных. Предположим, что у вас есть таблица `categories`, где есть поля `id`, `name`, и `parent_id`, и вы хотите получить все подкатегории для категории:
```php
function get_subcategories($parent_id) {
// Подключение к базе данных
$pdo = new PDO('mysql:host=localhost;dbname=your_database_name', 'username', 'password');
// Запрос на получение подкатегорий
$stmt = $pdo->prepare('SELECT * FROM categories WHERE parent_id = :parent_id');
$stmt->execute(['parent_id' => $parent_id]);
return $stmt->fetchAll();
}
$subcategories = get_subcategories(10); // Замените на ID нужной категории
if (count($subcategories) > 0) {
echo '<ul>';
foreach ($subcategories as $subcategory) {
echo '<li>' . htmlspecialchars($subcategory['name']) . '</li>';
}
echo '</ul>';
} else {
echo 'Нет подкатегорий.';
}
```
### Подходы для других CMS
Если вы используете другую CMS, ознакомьтесь с документацией по ее API для работы с категориями. Обычно есть аналогичные функции или методы для получения подкатегорий.
### Дополнительные аспекты
1. Убедитесь, что вы обрабатываете ситуации, когда категории могут быть пустыми.
2. Используйте `esc_html()` или его аналог для безопасного отображения данных из базы.
3. Если у вас уже есть структура с использованием плагинов, возможно, потребуется внести изменения в настройки или поискать в документации возможности для фильтрации категорий.