Включение виджетов по умолчанию в разработке пользовательской темы

wordpress.stackexchange https://wordpress.stackexchange.com/questions/1948

  •  16-10-2019
  •  | 
  •  

Вопрос

В тематическом здании WP, если боковая панель не активна, могу ли я включить ее? Кроме того, если боковая панель активна и не содержит никаких виджетов, могу ли я добавить?

Я разработчик темы и плагинов, но это то, что я еще не научился делать.

Это было полезно?

Решение

@Volomik,

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

// Remove WP default Widgets
    // WP 2.8 function using $widget_class
    if (function_exists('unregister_widget')) {
        unregister_widget('WP_Widget_Meta');
        unregister_widget('WP_Widget_Search');
        unregister_widget('');

    // pre WP 2.8 function using $id
    } else {
        unregister_widget_control('meta');
        unregister_widget_control('search');
    }

Вы также можете предварительно настроить свои собственные виджеты.

// The following code sample is from The Thematic Theme which is licensed under the GPLv2

    register_sidebar_widget(__('Search', 'thematic'), 'widget_thematic_search', null, 'search');
    unregister_widget_control('search');
    register_sidebar_widget(__('Meta', 'thematic'), 'widget_thematic_meta', null, 'meta');
    unregister_widget_control('meta');
    register_sidebar_widget(array(__('RSS Links', 'thematic'), 'widgets'), 'widget_thematic_rsslinks');
    register_widget_control(array(__('RSS Links', 'thematic'), 'widgets'), 'widget_thematic_rsslinks_control', 300, 90);

    // Pre-set Widgets
    $preset_widgets = array (
        'primary-aside'  => array( 'search', 'pages', 'categories', 'archives' ),
        'secondary-aside'  => array( 'links', 'rss-links', 'meta' )
        );

    if ( isset( $_GET['activated'] ) ) {
        update_option( 'sidebars_widgets', apply_filters('thematic_preset_widgets',$preset_widgets ));
    }

ТематыC на самом деле является отличным примером всех вещей, которые можно сделать с помощью виджетов. Взгляни на widgets.php а также Виджеты-Экспенсии.php

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top