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