【问题标题】:How To Give Widgets Individual ID's or Classes?如何给小部件单独的 ID 或类?
【发布时间】:2012-12-26 12:00:15
【问题描述】:

在我的 wordpress 安装中,我为我创建的新页面模板创建了一个新主题。但是,当我创建新的小部件时,每个小部件都会自动获取“textwidget”类。对于需要不同样式的小部件,我有两种不同的样式,所以我不太确定如何为每个单独的小部件赋予不同的类或以不同的方式标记它们?

有人知道怎么做吗?

这是我网站上带有 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' => '',
));
}

这是页面模板本身的sn-p,用于显示:

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

我可以使用不同的小部件区域来制作它,但想了解如何使用单独的小部件样式。

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    您弄错了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>' ); ?>
    

    【讨论】:

    • 太棒了伙计..我让它工作了!感谢您指出我做错了什么。实际上,我从一些随机博客中获取了上面的代码,该博客显示了如何将小部件添加到您的页面。我不知道我做错了。再次感谢大佬!!!!!!!!!!!!!!!!!!!!!!!!!!!
    • @sab,食典是你的朋友,请咨询食典 :o)
    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 2017-04-20
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 2020-09-16
    相关资源
    最近更新 更多