获取WordPress边栏中第一个小部件的id或顺序

获取WordPress边栏中第一个小部件的id或顺序,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我正在使用WordPress。在我网站的后端,有一个侧边栏。在这个侧边栏上,有n个小部件。我想在第一个小部件中添加一个CSS类,而不是在其他小部件中添加 我怎么办 请帮忙 你到底想改变什么?您可以将html放入小部件中,这样您就可以复制小部件的内容(如果简单的话)-您还可以将ID-s和类放入html中(并在主题的style.css文件中编辑css),或者您甚至可以直接使用css和style=“标记选项。如果它不是简单的东西,那么它已经有ID和/或类了-所以你应该使用这些ID和类,然后在style

我正在使用WordPress。在我网站的后端,有一个侧边栏。在这个侧边栏上,有n个小部件。我想在第一个小部件中添加一个CSS类,而不是在其他小部件中添加

我怎么办


请帮忙

你到底想改变什么?您可以将html放入小部件中,这样您就可以复制小部件的内容(如果简单的话)-您还可以将ID-s和类放入html中(并在主题的style.css文件中编辑css),或者您甚至可以直接使用css和
style=“
标记选项。如果它不是简单的东西,那么它已经有ID和/或类了-所以你应该使用这些ID和类,然后在style.css中编辑样式。

你应该制作动态侧栏,为小部件的类或ID添加编号。 这是一篇关于它的好帖子:

我对WordPress中的widget钩子没有太多的经验,但我相信这应该涵盖您的问题

<?php
if( !is_admin() ) {
    $sidebar_id = 'your-sidebar-id-here';
    $sidebars_array = wp_get_sidebars_widgets();
    if( isset( $sidebars_array[$sidebar_id] ) && ( !empty( $sidebars_array[$sidebar_id] ) ) ) {
        $first_widget = current( $sidebars_array[$sidebar_id] );
        add_action( 'widgets_init', 'so4461485_widget_custom', 10000 );
    }
}

function so4461485_widget_custom() {
    global $wp_registered_widgets, $first_widget;

    if( empty( $wp_registered_widgets ) )
        return;

    foreach( $wp_registered_widgets as $widget_id => $widget_data_array ) {
        if( $widget_id != $first_widget )
            continue;
        if( isset( $widget_data_array['classname'] ) )
            $wp_registered_widgets[$widget_id]['classname'] .= ' first_widget';
    }
}
?>

您只需在此处用有效的侧栏id(即侧栏注册时设置的id)替换侧栏id(代码第3行)


为了方便起见,可以将代码放在主题的functions.php中。如果在放置代码时遇到问题,请确保没有嵌套PHP标记。。(例如,
OK,有时用户可以重新安排小部件的顺序。第一个变成最后一个,第二个变成第一个……例如,我想在第一个小部件中有一个css类(在顶部)。当它变成第二个时,css类将应用于顶部的新类。有人能帮忙吗