2

WordPress のインストール時に、作成した新しいページ テンプレート用の新しいテーマを作成しました。ただし、新しいウィジェットを作成すると、各ウィジェットは自動的に「textwidget」のクラスを取得します。異なるスタイルを必要とするウィジェット用に2つの異なるスタイルを持っているので、個々のウィジェットに異なるクラスを与える方法や異なるラベルを付ける方法がよくわかりませんか?

誰でもこれを行う方法を知っていますか?

これは、2 つのウィジェットを含む私のサイトのページです: http://www.simonsayswebsites.com/how-we-get-you-more-customers/

それぞれが同じクラス名を持つウィジェット内にあることがわかります。

これは、ウィジェットを追加するためにページの functions.php に追加したものです。

    if ( function_exists('register_sidebar') ){
    register_sidebar(array(
        'name' => 'sidebarpage',
        'before_widget' => '<div id="sidebarpage">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
));
}

そして、表示するページ テンプレート自体のスニペットを次に示します。

<?php /* Widgetized sidebar */
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebarpage') ) : ?><?php endif; ?>

さまざまなウィジェット化された領域を使用して作成できますが、個々のウィジェット スタイルについて学びたいと考えています。

4

1 に答える 1

3

と を間違えnameidいます。

また、 ではbefore_widget、固定 ID を宣言するべきではありません。あなたのサイトでは、両方のウィジェットが同じ ID を持っていて、それは良くありません。

Codex の例に従うと、ウィジェットは一意の ID と関連するクラスを受け取ります。

http://codex.wordpress.org/Function_Reference/register_sidebar

デフォルトの使用法

<?php $args = array(
    'name'          => __( 'Sidebar name', 'theme_text_domain' ),
    'id'            => 'unique-sidebar-id',
    'description'   => '',
    'class'         => '',
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget'  => '</li>',
    'before_title'  => '<h2 class="widgettitle">',
    'after_title'   => '</h2>' ); ?>
于 2012-12-26T04:00:15.920 に答える