Как создать пользовательскую область виджетов и хранить содержимое в нижнем колонтитуле? - PullRequest
0 голосов
/ 22 октября 2018

Я хочу создать пользовательскую область виджетов и сохранить ее содержимое в нижнем колонтитуле.

Я делаю это как часть создаваемого плагина.Итак, в основном файле плагина я попытался:

 if ( function_exists('register_sidebar') )
 register_sidebar(array(
'name' => 'Name of Widgetized Area',
'before_widget' => '<div class = "widgetizedArea">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
)
);

, но он не отображает область виджета в WordPress. Внешний вид -> Виджеты.

Это первая проблема ..Другой вопрос: когда я выясняю, как добавить область виджета, как реализовать, чтобы виджет, хранящийся в этой области виджета, помещался в нижний колонтитул?Я думаю о добавлении этого в файл footer.php используемой темы:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("Name of 
Widgetized Area") ) : ?>
<?php endif;?>

Я не уверен, что это правильно ... и еще одна проблема: я добавляюэто непосредственно в footer.php темы, которую я использую, так что это означает, что плагин не будет работать, если другая тема установлена ​​и активирована.Должен ли я написать функцию, чтобы найти файл footer.php, а затем написать это в нем, или я должен сделать что-то еще.А что если в теме нет файла footer.php?

1 Ответ

0 голосов
/ 22 октября 2018

Существует два способа добавления виджетов: 1) Использование Виджеты на странице плагин 2) Вы можете добавить виджет с помощью кода.

1) Вы можете напрямую установить Виджеты настраница плагин.Там вы можете легко создать плагин.Я буду отображаться в виджетах, и он сгенерирует шорткод, который вы можете разместить в footer.php или любом другом файле, в котором вы хотите отобразить свой виджет

2) Вы можете создать свою область виджетов, используя следующий код: Добавьте этот код в вашу тему funtion.php

 function arphabet_widgets_init() {

    register_sidebar( array(
        'name'          => 'Home right sidebar',
        'id'            => 'home_right_1',
        'before_widget' => '<div>',
        'after_widget'  => '</div>',
        'before_title'  => '<h2 class="rounded">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'arphabet_widgets_init' );

, а затем добавьте этот код в свой footer.php

<?php if ( is_active_sidebar( 'home_right_1' ) ) : ?>
    <div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
        <?php dynamic_sidebar( 'home_right_1' ); ?>
    </div><!-- #primary-sidebar -->
<?php endif; ?>

Это функция, которая выводит виджет:

<?php dynamic_sidebar( 'home_right_1' ); ?>

Надеюсь, это поможет вам ..

...