volomike
  • 0
Учитель

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

  • 0

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

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

Share
  1. @Воломайк,

    Когда вы регистрируете боковую панель в функциях вашей темы, она будет активна на панели инструментов. Если на ваши боковые панели не добавлены виджеты, 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 ));
        }
    

    Thematic на самом деле является отличным примером того, что можно сделать с помощью виджетов. Взгляните на widgets.php и widgets-extensions.php.

    • 0

Оставить ответ

You must login to add an answer.