我正在尝试在另一个小部件中插入自定义小部件区域,但不知道从哪里开始。我需要用唯一的id在widget类构造函数中注册新的widget区域吗?
我想要实现的是:插入一个包含小部件区域的部分小部件。使用小部件区域将自定义小部件插入到部分中。
<?php
function dov_load_widget_default( ) {
register_widget( 'section' );
}
add_action( 'widgets_init', 'dov_load_widget_default' );
class section extends WP_Widget {
function __construct( ) {
parent::__construct(
'section',
__( 'Portfolio sections', 'dov_portfolio' ),
array( 'description' => __( 'Default section for widgets', 'dov_portfolio' ) )
);
}
// Creating widget front-end
public function widget( $args, $instance ) {
}
// Widget Backend
public function form( $instance ) {
}
// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array( );
return $instance;
}
}?>
发布于 2017-12-03 22:47:24
不知道这是不是正确的方式,但它似乎是有效的。
function dov_load_sidebars( ) {
register_sidebar( array(
'id' => 'portfolio_sections',
'name' => __( 'Portfolio sections', 'dov_portfolio' )
));
$sections = wp_get_sidebars_widgets( );
if( isset( $sections[ 'portfolio_sections' ] ) ) :
$sections = $sections[ 'portfolio_sections' ];
foreach( $sections as $section ) :
register_sidebar( array(
'id' => $section,
'name' => __( 'Portfolio section', 'dov_portfolio' ) . ': ' . $section
));
endforeach;
endif;
}
add_action( 'widgets_init', 'dov_load_sidebars' );编辑:插入section小部件后,小部件区域不会刷新。我如何刷新它们,或者我应该使用js添加它们?
https://stackoverflow.com/questions/47619119
复制相似问题