Как редактировать виджеты в WordPress

В представлении -> В меню «Виджеты» есть список виджетов, которые вы можете перетащить, чтобы отобразить на боковой панели.

Где код HTML /PHP для этих пользовательских виджетов?

Я был в Справочнике функций WordPress, но ничего не нашел. Разумеется, эти виджеты должны быть вытащены из шаблона HTML /PHP.

Причина, по которой я хочу знать, - это названия титров по умолчанию, это теги <h3>, и я хочу изменить их на <h5>. Также мне нужно добавить некоторые <hr /> и другие вещи.

Я просмотрел файл theme/includes/widgets.php, но ничего не нашел.

Я использую копию Twenty Eleven, чтобы изменить мою тему, кстати.

Код в theme/sidebar.php для (!dynamic_sidebar()), однако моя боковая панель - это динамическая, поэтому этот код бесполезен.

6 голосов | спросил AlexMorley-Finch 16 Jpm1000000pmMon, 16 Jan 2012 16:20:21 +040012 2012, 16:20:21

2 ответа


9

API-интерфейсы WordPress Widgets - это то, как создаются различные виджеты и зарегистрированные боковые панели.

При создании нового виджета есть переменные, которые можно добавить к любому виджету, который получает там значение из register_sidebars .

  

args (строка /массив) (необязательно)
   Создает боковую панель, основанную на «имени» и   'id'. По умолчанию: Нет
name - Имя боковой панели.
id - идентификатор боковой панели.
before_widget - HTML для размещения перед каждым виджетами.
after_widget - HTML для размещения после каждого виджета.
before_title - HTML для размещения перед каждым заголовком.
after_title - HTML для размещения после каждого заголовка.

Пример:

<?php
    add_action( 'widgets_init', 'prefix_register_sidebars' ); 
    function prefix_register_sidebars() {
         $args = array(
         'name' => 'My Sidebar',
         'id'   => 'my-sidebar',
         'before_widget' => '<div id="%1$s" class="widget %2$s">',,
         'after_widget'  => '</div><hr />',
         'before_title'  => '<h5 class="widgettitle">',
         'after_title'   => '</h5>'
         );
      register_sidebars( $args );
   }

Пример виджета:

class MY_Widget extends WP_Widget {
    function my_widget( $args, $instance ) {
         $widget_ops = array(
         'description' => 'My Widget Description'
         );
        parent::WP_Widget(false, 'My Widget Name', $widget_ops );
    }
    function widget() { // This controls the display of the widget
    $title = 'My Widget Title';

    echo $before_widget;  // Outputs the the 'before_widget' register_sidebars setting
    echo $title;         //Will be wrapped in the 'before_title' and 'after_title' settings
    echo '<p>This is my widget output</p>';
    echo $after_widget;  //Outputs the 'after_widget' settings
    }
}
add_action( 'widgets_init', 'prefix_register_widgets' );
function prefix_register_widgets() {
    register_widget( 'my_widget' );
}
ответил Chris_O 17 Jam1000000amTue, 17 Jan 2012 09:56:27 +040012 2012, 09:56:27
0

он находится в функциях.php

function twentyeleven_widgets_init () {

register_widget( 'Twenty_Eleven_Ephemera_Widget' );

register_sidebar( array(
    'name' => __( 'Main Sidebar', 'twentyeleven' ),
    'id' => 'sidebar-1',
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => "</aside>",
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
) );
ответил wassem 16 Jpm1000000pmMon, 16 Jan 2012 16:37:05 +040012 2012, 16:37:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132