Как добавить несколько виджетов в подвал?

Вопрос или проблема

Я новичок в WordPress. В настоящее время я использую тему Twenty Seventeen. Я хотел бы добавить несколько виджетов в нижний колонтитул, однако WordPress ограничивает меня только двумя. Можно ли добавить еще несколько виджетов в футер? Если да, то как это сделать? Я потратил два дня на поиск ответа в интернете безрезультатно.

Я предпочел бы ответы, связанные с модификацией файлов PHP или CSS.

Заранее благодарю…

Мне нужно добавить несколько нижних колонтитулов, как эти..

Footer 1 и Footer 2 — это боковые панели, вы можете добавить свою собственную боковую панель в functions.php или создать дочернюю тему :

function twentyseventeen_widgets_init() {
register_sidebar( array(
    'name'          => __( 'Blog Sidebar', 'twentyseventeen' ),
    'id'            => 'sidebar-1',
    'description'   => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'twentyseventeen' ),
    'before_widget' => '<section id="%1$s" class="widget %2$s">',
    'after_widget'  => '</section>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
) );

register_sidebar( array(
    'name'          => __( 'Footer 1', 'twentyseventeen' ),
    'id'            => 'sidebar-2',
    'description'   => __( 'Add widgets here to appear in your footer.', 'twentyseventeen' ),
    'before_widget' => '<section id="%1$s" class="widget %2$s">',
    'after_widget'  => '</section>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
) );

register_sidebar( array(
    'name'          => __( 'Footer 2', 'twentyseventeen' ),
    'id'            => 'sidebar-3',
    'description'   => __( 'Add widgets here to appear in your footer.', 'twentyseventeen' ),
    'before_widget' => '<section id="%1$s" class="widget %2$s">',
    'after_widget'  => '</section>',
    'before_title'  => '<h2 class="widget-title">',
    'after_title'   => '</h2>',
) );
}
add_action( 'widgets_init', 'twentyseventeen_widgets_init' );

вы можете добавить столько виджетов, сколько хотите, перетаскивая их.
Шаблон, который отображается в twentyseventeen/template-parts/footer/footer-widgets.php

<?php
 if ( is_active_sidebar( 'sidebar-2' ) ||
 is_active_sidebar( 'sidebar-3' ) ) :
?>

<aside class="widget-area" role="complementary" aria-label="<?php esc_attr_e( 'Footer', 'twentyseventeen' ); ?>">
    <?php
    if ( is_active_sidebar( 'sidebar-2' ) ) { ?>
        <div class="widget-column footer-widget-1">
            <?php dynamic_sidebar( 'sidebar-2' ); ?>
        </div>
    <?php }
    if ( is_active_sidebar( 'sidebar-3' ) ) { ?>
        <div class="widget-column footer-widget-2">
            <?php dynamic_sidebar( 'sidebar-3' ); ?>
        </div>
    <?php } ?>
</aside><!-- .widget-area -->

<?php endif; ?>

Ответ или решение

Введение в WordPress и освоение тем может быть немного запутанным для начинающих. Если вы используете тему Twenty Seventeen и хотите добавить несколько виджетов в нижний колонтитул, существует несколько способов, которые позволят вам достичь этого, используя PHP и CSS модификации. Давайте разберемся, как это сделать наиболее эффективно.

Шаг 1: Регистрация новых виджетов в нижнем колонтитуле

В вашей теме по умолчанию может быть ограниченное количество областей для нижнего колонтитула. Чтобы добавить больше, вам нужно зарегистрировать дополнительные боковые панели (sidebars) для виджетов в файле functions.php вашей темы. Откройте файл functions.php и добавьте следующий код:

function custom_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Footer 3', 'twentyseventeen' ),
        'id'            => 'sidebar-4',
        'description'   => __( 'Add widgets here to appear in your footer.', 'twentyseventeen' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h2 class="widget-title">',
        'after_title'   => '</h2>',
    ) );

    register_sidebar( array(
        'name'          => __( 'Footer 4', 'twentyseventeen' ),
        'id'            => 'sidebar-5',
        'description'   => __( 'Add widgets here to appear in your footer.', 'twentyseventeen' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h2 class="widget-title">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'custom_widgets_init' );

Этот код позволяет добавить два дополнительных виджета для вашего нижнего колонтитула.

Шаг 2: Обновление шаблона нижнего колонтитула

Затем вам нужно обновить шаблон, который отвечает за отображение виджетов в нижнем колонтитуле. Это можно сделать, изменив файл footer-widgets.php, который находится в twentyseventeen/template-parts/footer/. Внесите следующие изменения:

<?php
if ( is_active_sidebar( 'sidebar-2' ) ||
     is_active_sidebar( 'sidebar-3' ) ||
     is_active_sidebar( 'sidebar-4' ) ||
     is_active_sidebar( 'sidebar-5' ) ) :
?>

<aside class="widget-area" role="complementary" aria-label="<?php esc_attr_e( 'Footer', 'twentyseventeen' ); ?>">
    <?php
    if ( is_active_sidebar( 'sidebar-2' ) ) { ?>
        <div class="widget-column footer-widget-1">
            <?php dynamic_sidebar( 'sidebar-2' ); ?>
        </div>
    <?php }
    if ( is_active_sidebar( 'sidebar-3' ) ) { ?>
        <div class="widget-column footer-widget-2">
            <?php dynamic_sidebar( 'sidebar-3' ); ?>
        </div>
    <?php }
    if ( is_active_sidebar( 'sidebar-4' ) ) { ?>
        <div class="widget-column footer-widget-3">
            <?php dynamic_sidebar( 'sidebar-4' ); ?>
        </div>
    <?php }
    if ( is_active_sidebar( 'sidebar-5' ) ) { ?>
        <div class="widget-column footer-widget-4">
            <?php dynamic_sidebar( 'sidebar-5' ); ?>
        </div>
    <?php } ?>
</aside><!-- .widget-area -->

<?php endif; ?>

Этот код добавляет новые секции для дополнительных виджетов, которые вы только что зарегистрировали.

Шаг 3: Настройка стилей с помощью CSS

Последний этап — обновление ваших стилей CSS, чтобы виджеты выглядели должным образом. В style.css вашей темы добавьте соответствующие стили:

.widget-column {
    width: 25%; /* Убедитесь в делении общей ширины между всеми колонками */
    float: left;
    padding: 20px;
}

.footer-widget-1, .footer-widget-2, .footer-widget-3, .footer-widget-4 {
    /* дополнительные стили */
}

Эти стили настроят расположение и внешний вид новых виджетов. Теперь они будут располагаться в четыре колонки, и вы сможете произвольно изменять стили в зависимости от ваших нужд.

Заключение

Таким образом, добавление дополнительных виджетов в нижний колонтитул темы Twenty Seventeen требует изменения PHP для регистрации новых областей виджетов и модификации шаблона, а также обновления стилей CSS. Следуя этим шагам, вы сможете создать уникальный и функциональный нижний колонтитул для вашего сайта на базе WordPress. Разумеется, всегда стоит сделать резервное копирование всех изменяемых файлов, чтобы избежать потери данных.

Оцените материал
Добавить комментарий

Капча загружается...