将类添加到小部件区域中的最后一个小部件

Posted

技术标签:

【中文标题】将类添加到小部件区域中的最后一个小部件【英文标题】:Add class to last widget in widget area 【发布时间】:2011-09-27 23:47:31 【问题描述】:

我正在使用以下 php 在我的 Wordpress 主题中显示一些小部件:

<?php
// A sidebar for widgets, just because.
if ( is_active_sidebar( 'primary-widget-area' ) ) : ?>
    <ul>
        <?php dynamic_sidebar( 'primary-widget-area' ); ?>
    </ul>
<?php endif; ?>

基本上&lt;ul&gt; 中的每个小部件都作为一个列表项出现。我希望能够将一个类添加到列表中的最后一个列表项。

我可以用 wordpress/php 做到这一点吗?

【问题讨论】:

出于 CSS 原因你需要那个吗? 哈哈哈,他当然因为 CSS 的原因需要它! 【参考方案1】:

最终使用了这个功能。

http://wordpress.org/support/topic/how-to-first-and-last-css-classes-for-sidebar-widgets?replies=1

【讨论】:

【参考方案2】:

我曾经编写过 wordpress 在第一个和最后一个小部件中添加第一个和最后一个类名的代码,您可以在 the ticket 中找到 the code。

但是,根据 CSS,您应该能够使用 :last-child CSS selector 来处理最后一项(所有浏览器,但不包括 IE 5.5 - IE 8)。所以这可能已经解决了你的问题。

ul > li:last-child border:1em solid red;

【讨论】:

@Tomalak Geret'kal:是的,尤其是对我作为 IE 6 用户而言。 抛开你的讽刺,"As of January 2011, estimates of IE8's global market share ranged from 26-33%",它是仍然广泛使用的 Windows XP 操作系统 ("as of May 2011, Windows XP is the most widely used operating system for accessing the Internet in the world with a 40.7% market share, having peaked at 76.1% in January 2007") 上支持的最后一个版本。 Tomalak:这不是讽刺。我的 XP boxe 不能超过 IE6。【参考方案3】:

如果您想为第一个或最后一个小部件内部侧边栏添加自定义类。

你可以使用动作钩子“init”

获取所有激活小部件、侧边栏 循环遍历每个小部件并更改类名 add_action('init', 'ak_add_order_classes_for_widgets' ); 功能 ak_add_order_classes_for_widgets() 全局 $wp_registered_sidebars,$wp_registered_widgets; #抓取小部件 $sidebars = wp_get_sidebars_widgets(); 如果(空($sidebars)) 返回; #循环遍历每个小部件并更改类名 foreach ( $sidebars as $sidebar_id => $widgets ) 如果(空($widgets)) 继续; $number_of_widgets = count($widgets); foreach ( $widgets as $i => $widget_id ) $wp_registered_widgets[$widget_id]['classname'] .= ' ct-widget-order-' 。 $i; # 添加第一个小部件类 如果 ( 0 == $i ) $wp_registered_widgets[$widget_id]['classname'] .= 'ct-widget-first'; # 添加最后一个小部件类 if ( $number_of_widgets == ( $i + 1 ) ) $wp_registered_widgets[$widget_id]['classname'] .= 'ct-widget-last';

我的博客:http://colourstheme.com/2015/03/add-class-to-first-and-last-widget/

【讨论】:

您应该直接在答案中包含该链接后面的代码。 感谢您的建议:D

以上是关于将类添加到小部件区域中的最后一个小部件的主要内容,如果未能解决你的问题,请参考以下文章

将 headerView 添加到小部件上的小部件中的 listView 调整大小 android

iOS将按钮添加到小部件扩展

如何将类添加到 dojo 小部件?

将类添加到 django 表单小部件字段

如何将图像从 Firebase 存储显示到小部件中?

Django小部件 - 将类添加到字段