register_widget()
不会对数据库进行任何更改。它所做的一切就是让一个特定的小部件可以使用。它不应该用在dynamic_sidebar
钩应该用在widgets_init
钩
如果希望小部件的内容根据当前页面的不同而变化,那么该逻辑需要在小部件本身中,在widget()
方法:
class My_Widget extends WP_Widget {
public function __construct() {}
public function widget( $args, $instance ) {
if ( is_page() ) {
$page_id = get_queried_object_id();
echo get_the_title( $page_id );
}
}
public function form( $instance ) {}
public function update( $new_instance, $old_instance ) {}
}
如果您正在查看页面,该示例将输出当前页面标题。