你错过了班上最后的大括号techno_widget
, 您需要调用函数techno_load_widget
课外活动techno_widget
您声明了变量“$blog title”wrong. You can\'t declare variable with
-. It is core
PHP `约定。所以我重写你的代码如下-
class techno_widget extends WP_Widget {
function __construct() {
parent::__construct(
\'techno_widget\',
__(\'Recent Full Post\', \'techno_widget_domain\'),
array( \'description\' => __( \'A full post will be appeared on Sidebar\', \'techno_widget_domain\' ), )
);
}
public function widget( $args, $instance ) {
$title = apply_filters( \'widget_title\', $instance[\'title\'] );
$blog_title = $instance[\'blog_title\'];
echo $args[\'before_widget\'];
if ( ! empty( $title ) )
echo $args[\'before_title\'] . $title . $args[\'after_title\'];
echo $instance[\'blog_title\'];
echo $args[\'after_widget\'];
}
public function form( $instance ) {
if ( isset( $instance[ \'title\' ] ) ) {
$title = $instance[ \'title\' ];
}
else {
$title = __( \'New title\', \'wpb_widget_domain\' );
}
$blog_title = $instance[ \'blog_title\' ];
?>
<p>
<label for="<?php echo $this->get_field_id( \'blog_title\' ); ?>"><?php _e( \'Select Title:\' ); ?></label>
<select class="widefat" id="<?php echo $this->get_field_id( \'blog_title\' ); ?>" name="<?php echo $this->get_field_name( \'blog_title\' ); ?>">
<?php
$fullpost = new WP_Query(array(
\'post_type\' => \'post\',
));
if($fullpost->have_posts()): while($fullpost->have_posts()): $fullpost->the_post(); ?>
<option value="<?php the_title();?>"><?php the_title();?></option>
<?php endwhile; endif;?>
</select>
</p>
<p>
<label for="<?php echo $this->get_field_id( \'title\' ); ?>"><?php _e( \'Title:\' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( \'title\' ); ?>" name="<?php echo $this->get_field_name( \'title\' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance[\'title\'] = ( ! empty( $new_instance[\'title\'] ) ) ? strip_tags( $new_instance[\'title\'] ) : \'\';
return $instance;
}
}
function techno_load_widget() {
register_widget( \'techno_widget\' );
}
add_action( \'widgets_init\', \'techno_load_widget\' );
这很有效。这是截图-
现在,您可以根据需要修改此代码。但我想你以前$instance[\'blog-title\']
(在我的代码中$instance[\'blog_title\']
) 也许你可以用$instance[\'title\']
.
您可以从任何其他输入字段获取输入。有关更多信息,请在谷歌上搜索。