Im Menü Darstellung -> Widgets gibt es eine Liste von Widgets, die Sie per Drag & Drop in der Seitenleiste anzeigen können.
Wo ist der HTML/PHP-Code für diese benutzerdefinierten Widgets?
Ich war in der Funktionsreferenz von WordPress, konnte aber nichts finden. Sicherlich müssen diese Widgets aus einer HTML/PHP-Vorlage gezogen werden.
Ich möchte wissen, dass die Widget-Titel standardmäßig <h3>
-Tags sind und ich möchte sie in <h5>
-Tags ändern. Außerdem muss ich einige <hr />
und andere Dinge hinzufügen.
Ich habe in der theme/includes/widgets.php
-Datei gesucht, aber nichts gefunden.
Ich benutze übrigens eine Kopie von Twenty Eleven, um mein Thema zu ändern.
Der Code in theme/sidebar.php
ist für (!dynamic_sidebar())
, aber meine Seitenleiste ist dynamisch, sodass dieser Code unbrauchbar ist.
Mit der WordPress Widgets API werden verschiedene Widgets erstellt und Seitenleisten registriert.
Beim Erstellen eines neuen Widgets können Variablen zu jedem Widget hinzugefügt werden. Diese erhalten ihren Wert aus den Argumenten register_sidebars
.
args (Zeichenfolge/Array) (optional)
Erstellt eine Sidebar basierend auf den Werten 'name' und 'id'. Standardeinstellung: Keinename
- Name der Seitenleiste.id
- Sidebar-ID.before_widget
- HTML vor jedem Widget.after_widget
- HTML, das nach jedem Widget eingefügt wird.before_title
- HTML vor jedem Titel.after_title
- HTML, das nach jedem Titel eingefügt wird.
<?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' );
}
es ist in der functions.php
funktion 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>',
) );